Submission #580702

#TimeUsernameProblemLanguageResultExecution timeMemory
580702snasibov05Sails (IOI07_sails)C++14
25 / 100
1082 ms6800 KiB
#include <bits/stdc++.h> using namespace std; int main() { const int mx = 1e5 + 5; int n; cin >> n; vector<pair<int, int>> v(n); for (int i = 0; i < n; ++i) cin >> v[i].first >> v[i].second; v.push_back({0, 0}); sort(v.begin(), v.end()); set<pair<int, int>> st; vector<int> avail(mx); vector<int> cnt(mx); for (int i = 1; i <= n; ++i){ for (int j = 1; j <= v[i].first; ++j) { if (avail[j] == 0) st.insert({cnt[j], j}); avail[j]++; } for (int j = 0; j < v[i].second; ++j){ auto it = st.begin(); int k = it->first; int h = it->second; st.erase(it); cnt[h]++; avail[h]--; if (avail[h]) st.insert({k+1, h}); } } int ans = 0; for (int i = 0; i < mx; ++i) ans += cnt[i] * (cnt[i] - 1) / 2; cout << ans << "\n"; return 0; }
#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...