其他分享
首页 > 其他分享> > 牛客练习赛102 B-C

牛客练习赛102 B-C

作者:互联网

B 清楚姐姐带带我

 

当数大于 1e9的时候就取模

//#define int ll
const int N = 1e5+10,mod = 19980829;
int n,m;
void solve() {
    ll res = 0;
    bool flag = false;
    int n;
    cin >> n;
    for(int i = 1 ; i <= n ; i ++) {
        ll a, b;
        cin >> a >> b;
        if((!flag && !res) || b == 1) res += a;
        else if(flag) res *= b;
        else {
            ll mul = (b - 1) * res;
            if(mul > a) res += mul;
            else res += a;
        }
        if(flag || res > 1e9) {
            res %= mod;
            flag = true;
        }
    }
    cout << res << "\n";
}
C

清楚姐姐的序列

对右坐标,左坐标,需要的值的数目排序

//#define int ll
const int N = 1e5+10;
int n,m;

bool vis[N];
int a[N];

struct node {
    int l,r;
    int x,y;
    bool operator<(const node & T) const {
        if(l == T.l) return r < T.r;
        
        return l<T.l;
    }
} p[N];

void solve()
{
    cin>>n>>m;
    fo(i,1,m) {
        int l,r,x,y;cin>>l>>r>>x>>y;
        p[i] = {l,r,x,y};
    }
    sort(p+1,p+1+m);
    int idx = 1;
    fo(i,1,m) {
        
        fo(j,p[i].l,p[i].r) {
            if(p[i].y == 0) break;
            if(!a[j]){a[j] = p[i].x;p[i].y -- ;}
        }
        if(p[i].y) {
             cout<<"qcjjddw"<<endl;
            rt;
        }
    }
    fo(i,1,n) {
        if(!a[i]) {
            a[i] = 1;
        }
    }
    fo(i,1,n) {
        cout<<a[i]<<' ';
    }
}

 

标签:练习赛,int,res,ll,牛客,flag,bool,102,fo
来源: https://www.cnblogs.com/er007/p/16651543.html