Submission #558389

#TimeUsernameProblemLanguageResultExecution timeMemory
558389Yazan_AlattarSegway (COI19_segway)C++14
0 / 100
1 ms340 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; #define F first #define S second #define pb push_back #define endl "\n" #define all(x) x.begin(), x.end() const int M = 100007; const ll inf = 2e9; const ll mod = 1e9 + 7; const double pi = acos(-1); const double eps = 1e-6; const int dx[] = {0, -1, 0, 1}, dy[] = {1, 0, -1, 0}; const int block = 320; ll n, q, have[M], timer[M], a[M][3]; bool vist[M]; int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; for(int i = 1; i <= n; ++i) for(int j = 0; j < 3; ++j) cin >> a[i][j]; cin >> q; for(int i = 1; i <= q; ++i){ int x; cin >> x; vist[x] = 1; } for(int m = 0; m < 300; ++m){ if(vist[m]){ vector < pair <int,int> > v; for(int i = 1; i <= n; ++i) v.pb({timer[i], i}); sort(all(v), greater < pair <int,int> > ()); int cnt = 0; for(int i = v.size() - 1; i >= 0; --i){ while(v.back().F < v[i].F) v.pop_back(), ++cnt; if(!have[v[i].S]) have[v[i].S] = cnt % 20; } } for(int i = 1; i <= n; ++i){ if(have[i]){ --have[i]; ++timer[i]; } else timer[i] += a[i][m / 100]; } } sort(timer + 1, timer + n + 1); for(int i = 1; i <= n; ++i) cout << timer[i] << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...