Submission #988947

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
9889472024-05-27 04:31:17emptypringlescanArchery (IOI09_archery)C++17
21 / 100
2062 ms856 KiB
#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt")
int n;
long long r;
int arr[10005],brr[10005],at;
int calc(){
if(arr[at]==1) return 1;
for(int i=0; i<2*n; i++) brr[i]=arr[i];
int ex[n];
memset(ex,0,sizeof(ex));
int rnd=min(n,400);
for(int k=0; k<rnd; k++){
for(int j=0; j<n; j++) ex[j]=0;
if(brr[1]>brr[0]) ex[0]=1;
for(int j=1; j<n; j++){
if(brr[j<<1|1]<brr[j<<1]) ex[j]=1;
}
swap(brr[ex[0]],brr[(n-1)<<1|ex[n-1]]);
for(int i=0; i<n-2; i++){
swap(brr[i<<1|ex[i]],brr[(i+1)<<1|ex[i+1]]);
}
}
int cur=0;
for(int i=0; i<2*n; i++){
if(arr[at]==brr[i]) cur=i/2;
}
if(arr[at]>n) return cur+1;
cur-=r-rnd;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...