제출 #1361136

#제출 시각아이디문제언어결과실행 시간메모리
1361136vviviSails (IOI07_sails)C++20
0 / 100
1096 ms2120 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main() {
    ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    int n; cin >> n;
    vector<pair<int, int>> v(n);
    for (int i = 0; i < n; i ++) cin >> v[i].first >> v[i].second;
    sort(v.begin(), v.end());
    vector<int> db(v[n - 1].first);
    for (int i = 0; i < n; i ++) {
        int ind = db.size() - (v[i].first - v[i].second) - 1;
        int x = db[ind];
        vector<int> db2;
        db2.assign(db.begin(), db.begin() + v[i].first);
        reverse(db2.begin(), db2.end());
        int a = upper_bound(db2.begin(), db2.end(), x) - db2.begin();
        int b = lower_bound(db2.begin(), db2.begin(), x) - db2.begin();
        a = v[i].first - a;
        b = v[i].first - b - 1;
        int cnt = 0;
        for (int j = b + 1; j < v[i].first; j ++) {
            db[j] ++; cnt ++;
        }
        for (int j = a; j < a + v[i].second - cnt; j ++) db[j] ++;
    }
    ll ans = 0;
    for (int c : db) ans += c * (c - 1) / 2;
    cout << ans;
    return 0;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…