| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1346537 | warrenn | Meteors (POI11_met) | C++20 | 861 ms | 46148 KiB |
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ii pair<int,int>
#define fir first
#define sec second
#define pb push_back
#pragma GCC optimize("O3,unroll-loops")
int n,m;
const int maxn=3e5;
vector<int>bit(maxn+2,0);
void upd(int idx,int val){
for(int q=idx;q<=maxn;q+=(q&(-q))){
bit[q]+=val;
}
}
int query(int idx){
int tot=0;
for(int q=idx;q>0;q-=(q&(-q))){
tot+=bit[q];
}
return tot;
}
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n>>m;
vector<int>pos[n+1];
for(int q=1;q<=m;q++){
int o; cin>>o;
pos[o].push_back(q);
}
int p[n+1],l[n+1],r[n+1],ans[n+1];
for(int q=1;q<=n;q++){
cin>>p[q];
}
int k; cin>>k;
int posl[k+1],posr[k+1],mid[k+1],a[k+1];
for(int q=1;q<=k;q++){
cin>>posl[q]>>posr[q]>>a[q];
}
for(int q=1;q<=n;q++){
l[q]=1,r[q]=k,ans[q]=-1;
}
vector<int>qu[k+1];
while(true){
bool stop=true;
for(int q=1;q<=n;q++){
if(l[q]<=r[q]){
mid[q]=(l[q]+r[q])/2;
stop=false;
qu[mid[q]].push_back(q);
}
}
if(stop)break;
for(int q=1;q<=k;q++){
if(posl[q]<=posr[q]){
upd(posl[q],a[q]);
upd(posr[q]+1,-a[q]);
}
else{
upd(1,a[q]);
upd(posr[q]+1,-a[q]);
upd(posl[q],a[q]);
}
for(auto idx : qu[q]){
int tot=0;
for(auto b : pos[idx]){
tot+=query(b);
}
if(tot>=p[idx]){
r[idx]=mid[idx]-1;
ans[idx]=mid[idx];
}
else{
l[idx]=mid[idx]+1;
}
}
qu[q].clear();
}
for(int q=1;q<=k;q++){
if(posl[q]<=posr[q]){
upd(posl[q],-a[q]);
upd(posr[q]+1,a[q]);
}
else{
upd(1,-a[q]);
upd(posr[q]+1,a[q]);
upd(posl[q],-a[q]);
}
}
}
for(int q=1;q<=n;q++){
if(ans[q]==-1){
cout<<"NIE"<<endl;
}
else{
cout<<ans[q]<<endl;
}
}
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
