Submission #434880

#TimeUsernameProblemLanguageResultExecution timeMemory
434880sumit_kk10Sails (IOI07_sails)C++14
30 / 100
1099 ms8376 KiB
#include <bits/stdc++.h> #define fast ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL) #define ll long long int #define ld long double using namespace std; const int N = 1e6 + 5; const int MOD = 1e9 + 7; long long n; pair<long long, long long> a[N]; void solve(){ cin >> n; long long mx = 0; for(int i = 1; i <= n; ++i){ cin >> a[i].first >> a[i].second; mx = max(mx, a[i].first); } sort(a + 1, a + n + 1); vector<int> v(mx + 5, 0); for(int i = 1; i <= n; ++i){ int cur = 0; set<pair<long long, long long> > s; for(int j = 1; j <= a[i].first; ++j) s.insert({v[j], j}); while(true){ if(s.empty()) break; if(cur == a[i].second) break; pair<long long, long long> ok = *s.begin(); v[ok.second]++; s.erase(s.begin()); ++cur; } } long long ans = 0; for(int i = 1; i <= mx; ++i){ // cout << v[i] << ' '; ans += (v[i] * (v[i] - 1)) / 2; } cout << ans << '\n'; } int main(){ fast; int t = 1; // cin >> t; while(t--) solve(); 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...