Submission #703063

#TimeUsernameProblemLanguageResultExecution timeMemory
703063LucaLucaMSails (IOI07_sails)C++17
30 / 100
1086 ms3088 KiB
#include <bits/stdc++.h> using namespace std; /** luam fiecare sail in ordine crescatoare dupa inaltime: luam cele mai putin frecvente k inaltimi adunam la raspuns **/ const int NMAX = 1e5; struct sail { int x, y; bool operator < (const sail aux) const { if (x == aux.x) return y > aux.y; return x < aux.x; } }; sail a[NMAX + 5]; int f[NMAX + 5]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n; cin >> n; for (int i=1; i<=n; i++) cin >> a[i].x >> a[i].y; sort(a+1, a+n+1); long long ans = 0; for (int i=1; i<=n; i++) { vector<pair<int, int>>v; for (int j=1; j<=a[i].x; j++) v.push_back({f[j], j}); sort(v.begin(), v.end()); for (int j=0; j<a[i].y; j++) f[v[j].second]++; } for (int i=1; i<=NMAX; i++) ans += (long long) f[i] * (f[i] - 1) / 2; cout << ans; 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...