样例全过0分求助
查看原帖
样例全过0分求助
789498
Retarz楼主2022/10/20 18:20
#include <bits/stdc++.h>
using namespace std;

struct node{int d,m;};

bool cmp(node a,node b){
    return a.d<b.d;
}

int main() {
    int n,m,ans=0;
    cin >> n >> m;
    vector<node> vec;
    set<int> s;
    for (int i=0;i<n;i++){
        node tmp;
        cin >> tmp.d >> tmp.m;
        vec.push_back(tmp);
        s.insert(tmp.d);
    }
    sort(vec.begin(),vec.end(),cmp);
    for (auto i=s.begin();i!=s.end();i++){
        int rest = m;
        if (i!=s.begin()&&s.count((*i)-1)==1){
            int j = (*i)-1;
            for (int p=0;p<vec.size();p++){
                if (vec[p].d==j){
                    if (rest>=vec[p].m){
                        rest-=vec[p].m;
                        ans+=vec[p].m;
                        vec[p].m=0;
                    } else {
                        ans+=rest;
                        rest=0;
                        vec[p].m-=rest;
                        break;
                    }
                }
            }
        }
        int j = *i;
        for (int p=0;p<vec.size();p++){
            if (vec[p].d==j){
                if (rest>=vec[p].m){
                    rest-=vec[p].m;
                    ans+=vec[p].m;
                    vec[p].m=0;
                } else {
                    ans+=rest;
                    rest=0;
                    vec[p].m-=rest;
                    break;
                }
            }
        }
        if (s.count(j+1)==0){
            int resto = m;
            for (int p=0;p<vec.size();p++){
                if (vec[p].d==j){
                    if (resto>=vec[p].m){
                        resto-=vec[p].m;
                        ans+=vec[p].m;
                        vec[p].m=0;
                    } else {
                        ans+=resto;
                        resto=0;
                        vec[p].m-=resto;
                        break;
                    }
                }
            }
        }
    }
    cout << ans;
}

4WA+6TLE

(好像和前一个帖的结果一样)

2022/10/20 18:20
加载中...