제출 #1238572

#제출 시각아이디문제언어결과실행 시간메모리
1238572ricardsjansonsNile (IOI24_nile)C++20
17 / 100
2094 ms12572 KiB
#include "nile.h" #include <bits/stdc++.h> #define ll long long using namespace std; vector<ll> calculate_costs(vector<int>w, vector<int>a, vector<int>b, vector<int>e){ int n=w.size(); int q=e.size(); sort(w.begin(),w.end()); map<int,vector<int>>ord; for(int i=0;i<q;i++){ ord[e[i]].push_back(i); } sort(e.begin(),e.end()); int l[n],r[n],sz[n],nxt[n]; for(int i=0;i<n;i++){ l[i]=r[i]=w[i]; sz[i]=1; nxt[i]=i+1; } vector<ll>res(q); for(int d:e){ if(ord[d].empty()){ continue; } ll cost=0; int i=0; while(i<n){ while(1){ int j=nxt[i]; if(j==n||l[j]-r[i]>d){ break; } r[i]=r[j]; sz[i]+=sz[j]; nxt[i]=nxt[j]; } cost+=sz[i]+sz[i]%2; i=nxt[i]; } for(int i:ord[d]){ res[i]=cost; } ord[d].clear(); } return res; }
#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...