C/C++教程

牛客练习赛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]<<' ';
    }
}

 

这篇关于牛客练习赛102 B-C的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!