# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
680930 |
2023-01-12T03:50:34 Z |
socpite |
Meteors (POI11_met) |
C++14 |
|
1871 ms |
65536 KB |
#include<bits/stdc++.h>
using namespace std;
#define f first
#define s second
typedef long long ll;
const int maxn = 3e5+5;
const ll inf = 1e18;
int n, m, q;
ll FW[maxn], D[maxn];
int L[maxn], R[maxn];
void add(int idx, int val){
for(idx; idx <= n; idx+=idx&(-idx))FW[idx]+=val;
}
void radd(int l, int r, int val){
add(l, val);
add(r+1, -val);
}
ll gt(int idx){
ll re = 0;
for(idx; idx > 0; idx-=idx&(-idx))re+=FW[idx];
return re;
}
pair<pair<int, int>, int> qq[maxn];
vector<int> vec[maxn], pos[maxn];
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin >> m >> n;
for(int i = 1; i <= n; i++){
int x;
cin >> x;
pos[x].push_back(i);
}
for(int i = 1; i <= m; i++)cin >> D[i];
cin >> q;
for(int i = 1; i <= q; i++){
cin >> qq[i].f.f >> qq[i].f.s >> qq[i].s;
}
for(int i = 1; i <= m; i++){
L[i] = 1;
R[i] = q+1;
}
while(true){
bool chk = 0;
for(int i = 1; i <= m; i++){
if(L[i] < R[i]){
chk = 1;
int mid = (L[i] + R[i])>>1;
vec[mid].push_back(i);
}
}
for(int i = 1; i <= q; i++){
if(qq[i].f.f <= qq[i].f.s)radd(qq[i].f.f, qq[i].f.s, qq[i].s);
else{
radd(qq[i].f.f, n, qq[i].s);
radd(1, qq[i].f.s, qq[i].s);
}
for(auto v: vec[i]){
ll sum = 0;
for(auto x: pos[v]){
sum+=gt(x);
sum = min(sum, inf);
}
//cout << sum << "\n";
if(sum >= D[v])R[v] = i;
else L[v] = i+1;
}
}
for(int i = 1; i <= n; i++)FW[i]=0;
for(int i = 1; i <= q; i++)vec[i].clear();
if(!chk)break;
}
for(int i = 1; i <= m; i++){
if(L[i] == q+1)cout << "NIE";
else cout << L[i];
cout << "\n";
}
//ifstream cin("input.txt");
//ofstream cout("output2.txt");
}
Compilation message
met.cpp: In function 'void add(int, int)':
met.cpp:19:9: warning: statement has no effect [-Wunused-value]
19 | for(idx; idx <= n; idx+=idx&(-idx))FW[idx]+=val;
| ^~~
met.cpp: In function 'll gt(int)':
met.cpp:29:9: warning: statement has no effect [-Wunused-value]
29 | for(idx; idx > 0; idx-=idx&(-idx))re+=FW[idx];
| ^~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
14420 KB |
Output is correct |
2 |
Correct |
10 ms |
14428 KB |
Output is correct |
3 |
Correct |
8 ms |
14448 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
14420 KB |
Output is correct |
2 |
Correct |
9 ms |
14476 KB |
Output is correct |
3 |
Correct |
9 ms |
14548 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
64 ms |
16136 KB |
Output is correct |
2 |
Correct |
97 ms |
18132 KB |
Output is correct |
3 |
Correct |
88 ms |
17796 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
87 ms |
17324 KB |
Output is correct |
2 |
Correct |
90 ms |
17276 KB |
Output is correct |
3 |
Correct |
114 ms |
18424 KB |
Output is correct |
4 |
Correct |
32 ms |
16644 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
83 ms |
16680 KB |
Output is correct |
2 |
Correct |
94 ms |
18824 KB |
Output is correct |
3 |
Correct |
46 ms |
15052 KB |
Output is correct |
4 |
Correct |
91 ms |
18208 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
81 ms |
15764 KB |
Output is correct |
2 |
Correct |
92 ms |
17276 KB |
Output is correct |
3 |
Correct |
68 ms |
16104 KB |
Output is correct |
4 |
Correct |
111 ms |
19520 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
921 ms |
34172 KB |
Output is correct |
2 |
Correct |
697 ms |
21592 KB |
Output is correct |
3 |
Correct |
236 ms |
17444 KB |
Output is correct |
4 |
Correct |
1543 ms |
60204 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
916 ms |
32784 KB |
Output is correct |
2 |
Correct |
651 ms |
21604 KB |
Output is correct |
3 |
Correct |
188 ms |
16848 KB |
Output is correct |
4 |
Correct |
1871 ms |
65536 KB |
Output is correct |