Submission #996660

#TimeUsernameProblemLanguageResultExecution timeMemory
996660ezzzaySails (IOI07_sails)C++14
40 / 100
1090 ms3912 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ff first
#define ss second
#define pb push_back
const int N=2e6+5;
int h[N];
signed main(){
    int n;
    cin>>n;
    vector<pair<int,int>>vc;
    for(int i=1;i<=n;i++){
        int m,k;
        cin>>m>>k;
        vc.pb({m,k});
        
    }
    sort(vc.begin(),vc.end());
    priority_queue<int>q;
    int w=0;
    for(auto p:vc){
        int m= p.ff;
        int k= p.ss;
        for(int i=0;i<m-w;i++){
            q.push(0);
        }
        vector<int>tmp;
        while(k--){
            int g= q.top();
            q.pop();
            tmp.pb(g);
        }
        for(auto a:tmp){
            q.push(a-1);
        }
        w=m;
    }
    int k=0;
    while(!q.empty()){
        int a= -q.top();
        k+= (a-1)*a/2;
        q.pop();
    }
    cout<<k;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...