# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
521205 | 2022-02-01T08:10:49 Z | cadmiumsky | Sails (IOI07_sails) | C++14 | 1000 ms | 9012 KB |
#include <bits/stdc++.h> using namespace std; const int nmax = 1e5 + 5; #define ll long long namespace Slope { multiset<int> slope; int val0; int last; void init() { slope.insert(0); val0 = 1; last = 0; return; } void insert(int l, int k) { //cout << l << ' ' << k << '\n'; if(k == 0) return; if(last < l) { while(slope.size() < val0) { slope.insert(last + 1); } last = l; } auto it = upper_bound(slope.begin(), slope.end(), l - k), lst = it; lst--; bool ok = 0; if(*lst == 0) { val0++; ok = 1; } int decr = k; if(it != slope.end()) decr = *it - (l - k); int temp = *lst; slope.erase(lst); if(it != slope.end()) slope.erase(it), slope.insert(l); slope.insert(temp + decr); if(ok) slope.insert(0); //cout << val0 << '\n'; //for(auto x : slope) //cout << x << ' '; //cout << '\n'; } void calculate() { ll sum = 0; for(int i = 1; i <= last; i++) { while(slope.size() && *slope.begin() < i) val0--, slope.erase(slope.begin()); //cout << i << ' ' << val0 << '\n'; sum += (ll)val0 * (val0 - 1) / 2LL; } #undef it cout << sum << '\n'; return; } } vector<int> v[nmax]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin >> n; int maxx = 0; for(int i = 0,a ,b; i < n; i++) { cin >> a >> b; maxx = max(maxx, a); v[a].push_back(b); } sort(v, v + n); Slope::init(); for(int i = 1; i <= maxx; i++) { for(auto r : v[i]) Slope::insert(i, r); } Slope::calculate(); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2636 KB | Output is correct |
2 | Incorrect | 1 ms | 2636 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 2636 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 2636 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 3 ms | 5196 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 13 ms | 2752 KB | Output is correct |
2 | Correct | 2 ms | 2636 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 91 ms | 2904 KB | Output is correct |
2 | Incorrect | 7 ms | 2892 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1088 ms | 4332 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 21 ms | 7108 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1076 ms | 3792 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1084 ms | 5044 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 37 ms | 9012 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |