Submission #865114

#TimeUsernameProblemLanguageResultExecution timeMemory
865114vjudge1Meteors (POI11_met)C++17
74 / 100
6029 ms12884 KiB
#include <map> #include <set> #include <list> #include <cmath> #include <ctime> #include <deque> #include <queue> #include <stack> #include <string> #include <bitset> #include <cstdio> #include <limits> #include <vector> #include <climits> #include <cstring> #include <cstdlib> #include <fstream> #include <numeric> #include <sstream> #include <cassert> #include <iomanip> #include <iostream> #include <algorithm> #include <stdio.h> #include <fstream> #include <unordered_map> using namespace std; typedef long long ll; typedef long double ld; #define all(x) x.begin(),x.end() #define pb push_back #define ent "\n" const int maxn = (int)3e5 + 13; const ll inf = (long long)1e18 + 20; const int mod = (int)1e9 + 7; int n,m; int a[maxn],b[maxn]; int l[maxn],r[maxn],w[maxn],res[maxn]; ll sum[maxn]; void solve(){ cin >> n >> m; for(int i = 1 ; i <= m ; i ++){ cin >> a[i]; } for(int i = 1 ; i <= n ; i ++){ cin >> b[i]; } int q;cin >> q; for(int i = 1 ; i <= q ; i ++){ cin >> l[i] >> r[i] >> w[i]; } for(int i = 1 ; i <= q ; i ++){ if(l[i] <= r[i]){ for(int j = l[i] ; j <= r[i] ; j ++){ sum[a[j]] += w[i] * 1ll; if(sum[a[j]] >= b[a[j]]){ if(!res[a[j]]){ res[a[j]] = i; } } } } else{ for(int j = l[i] ; j <= m ; j ++){ sum[a[j]]+=w[i] * 1ll; if(sum[a[j]] >= b[a[j]]){ if(!res[a[j]]){ res[a[j]] = i; } } } for(int j = 1 ; j <= r[i] ; j ++){ sum[a[j]]+=w[i] * 1ll; if(sum[a[j]] >= b[a[j]]){ if(!res[a[j]]){ res[a[j]] = i; } } } } } for(int i = 1 ; i <= n ; i ++){ if(res[i] == 0){ cout << "NIE\n"; } else{ cout << res[i] << ent; } } } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); 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...