Submission #1167059

#TimeUsernameProblemLanguageResultExecution timeMemory
1167059mertbbmAbracadabra (CEOI22_abracadabra)C++20
10 / 100
271 ms589824 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define ld long double #define show(x,y) cout << y << " " << #x << endl; #define show2(x,y,i,j) cout << y << " " << #x << " " << j << " " << #i << endl; #define show3(x,y,i,j,p,q) cout << y << " " << #x << " " << j << " " << #i << " " << q << " " << #p << endl; #define show4(x,y) for(auto it:y) cout << it << " "; cout << #x << endl; typedef pair<int,int>pii; typedef pair<int,pii>pi2; mt19937_64 rng(chrono::system_clock::now().time_since_epoch().count()); void solve(){ int n,q; cin >> n >> q; int arr[n+5][n+5]; for(int x=1;x<=n;x++){ cin >> arr[0][x]; } for(int x=1;x<=n;x++){ int a=1; int b=n/2+1; int ptr=1; while(a<=n/2||b<=n){ //show2(a,a,b,b); if(a>n/2){ arr[x][ptr]=arr[x-1][b]; b++; } else if(b>n){ arr[x][ptr]=arr[x-1][a]; a++; } else if(arr[x-1][a]<arr[x-1][b]){ arr[x][ptr]=arr[x-1][a]; a++; } else{ arr[x][ptr]=arr[x-1][b]; b++; } ptr++; } } int temp,temp2; for(int x=0;x<q;x++){ cin >> temp >> temp2; temp=min(temp,n); cout << arr[temp][temp2] << "\n"; } } int32_t main(){ ios::sync_with_stdio(0); cin.tie(0); //freopen("in.txt","r",stdin); //freopen("in.txt","w",stdout); int t=1; //cin >> t; while(t--){ solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...