# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1163606 | emptypringlescan | Specijacija (COCI20_specijacija) | C++20 | 4098 ms | 357760 KiB |
#include <bits/stdc++.h>
using namespace std;
#define int long long
const long long buc=450;
long long arr[200005],lvl[200005],bruh[200005];
int32_t main(){
ios::sync_with_stdio(0);
cin.tie(0);
int n,q,t;
cin >> n >> q >> t;
vector<int> seg[n/buc+5],snap[n/buc+5];
for(int i=0; i<n; i++){
cin >> arr[i];
lvl[i]=arr[i]-(long long)i*(i+1)/2ll;
bruh[i]=(long long)i*(i+1)/2ll;
}
bruh[n]=(long long)n*(n+1)/2ll;
for(int i=0; i<n/buc; i++){
int st=i*buc,en=min((i+1)*buc-1,(long long)n-1);
int cur=0;
for(int j=1; j<=st+1; j++){
seg[cur].push_back(j);
if((int)seg[cur].size()>=buc) cur++;
}
for(int j=st; j<=en; j++){
int x=lvl[j];
cur=0;
while((int)seg[cur].size()<x){
x-=seg[cur].size();
# | 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... |