Submission #1305285

#TimeUsernameProblemLanguageResultExecution timeMemory
1305285bronze_coderSails (IOI07_sails)C++20
30 / 100
1096 ms2612 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){
    int n;
    cin >> n;
    vector<long long> d = {0};
    for(int i=0;i<n;i++){
        int h,k;
        cin >> h >> k;
        while(d.size()<=h){
            d.push_back(0);
        }
        d[h-k]++;
        d[h]--;
    }
    vector<long long> a = {d[0]};
    for(int i=1;i<d.size();i++){
        a.push_back(a[i-1]+d[i]);
    }
    long long c = 0;
    long long ans = 0;
    for(int i=0;i<a.size();i++){
        long long x = c;
        long long z = 0;
        for(int j=0;j<a.size();j++){
            x += a[j];
            if(j>=i){
                z = max(z,(x+j-i)/(j-i+1));
            }
        }
        c -= z;
        ans += z*(z-1)/2;
    }

    cout << ans << endl;
}
#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...