Submission #1294404

#TimeUsernameProblemLanguageResultExecution timeMemory
1294404BlockOGSails (IOI07_sails)C++20
40 / 100
1097 ms1544 KiB
#include <bits/stdc++.h> // meeeooowwwww mrrowwww :3 // go play vivid/stasis!! now!!!! https://vividstasis.gay #define fo(i, a, b) for (auto i = (a); i < (b); i++) #define of(i, a, b) for (auto i = (b); i-- > (a);) #define f first #define s second #define pb push_back #define lb lower_bound #define ub upper_bound #define be(a) a.begin(), a.end() using namespace std; int ____init = []{ ios::sync_with_stdio(false); cin.tie(NULL), cout.tie(NULL); return 0; }(); int main() { int n; cin >> n; vector<pair<int, int>> v(n); fo(i, 0, n) cin >> v[i].f >> v[i].s; sort(be(v)); map<int, int> cnts; int prev = 0; for (auto [i, j] : v) { cnts[0] += i - prev; prev = i; map<int, int> ncnts; for (auto [k, l] : cnts) { int m = min(l, j); j -= m; if (l - m) ncnts[k] += l - m; if (m) ncnts[k + 1] += m; } cnts = ncnts; } long long res = 0; for (auto [i, j] : cnts) res += (long long)j * i * (i - 1) / 2; cout << res; }
#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...