Submission #1268338

#TimeUsernameProblemLanguageResultExecution timeMemory
1268338uranium235Sails (IOI07_sails)C++17
5 / 100
18 ms1148 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const char nn = '\n';

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);

    int n;
    cin >> n;
    vector<pair<int, int>> a(n + 1);
    for (pair<int, int> &i : a) cin >> i.first >> i.second;

    sort(a.begin(), a.end());
    reverse(a.begin(), a.end());

    int hang = a[0].first, cur = 0;
    int prev = a[0].first;
    vector<int> ans(10 + 1, -1);
    for (pair<int, int> &i : a) {
        // cout << i.first << " " << i.second << nn;
        for (int j = i.first + 1; j <= hang; j++) {
            assert(ans[j] == -1);
            ans[j] = cur;
        }
        for (int j = max(i.first + 1, hang + 1); j <= prev; j++) {
            assert(ans[j] == -1);
            ans[j] = cur + 1;
        }
        prev = i.first;
        hang = min(hang, i.first);
        if (hang > i.second) {
            hang -= i.second;
        } else {
            cur++;
            int leftover = i.second - hang;
            hang = i.first - leftover;
        }
        // cout << "dbg " << hang << " " << cur << nn; 
        // for (int i : ans) cout << i << " ";
        // cout << nn;
    }


    ll total = 0;
    for (int i : ans) {
        if (i != -1) total += i * (i - 1) / 2;
    }
    cout << total << nn;
}
#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...