Submission #238106

#TimeUsernameProblemLanguageResultExecution timeMemory
238106FashoGondola (IOI14_gondola)C++14
20 / 100
24 ms1024 KiB
#include <bits/stdc++.h> #include "gondola.h" #define N 1000005 #define ll long long int #define MP make_pair #define pb push_back #define ppb pop_back #define sp " " #define endl "\n" #define fi first #define se second #define ii pair<int,int> #define lli pair<ll,ll> #define fast cin.tie(0);cout.tie(0);ios_base::sync_with_stdio(false) #define fast2 freopen ("badhair.gir","r",stdin);freopen ("badhair.cik","w",stdout); #define mod 1000000007 #define fs(x,y) for(ll i=1;i<=y;i++) cin>>x[i] #define fo(i,x,y) for(ll i=x;i<=y;i++) #define INF 1000000000005 #define ull unsigned long long int using namespace std; int ar[N]; int valid(int n, int inputSeq[]) { ll x=-1; // fo(i,0,n-1) // inputSeq[i]=ar[i]; fo(i,1,n) { // cout<<inputSeq[i-1]<<sp; ar[i]=inputSeq[i-1]; } sort(ar+1,ar+n+1); fo(i,2,n) if(ar[i-1]==ar[i]) return 0; fo(i,1,n) ar[i]=inputSeq[i-1]; // cout<<endl; fo(i,1,n) if(ar[i]<=n) { x=i; break; } if(x==-1) return 1; // fo(i,1,n) // cout<<ar[i]<<sp; // cout<<endl; // cout<<x<<endl; int flag=0; fo(i,x+1,n) { if(ar[i]<=n) { if((i-x+ar[x])%n!=ar[i]%n) return 0; } } return 1; } //---------------------- ll tut[N],tutmac[N]; int replacement(int n, int gondolaSeq[], int replacementSeq[]) { if(!valid(n,gondolaSeq)) return 0; fo(i,1,n) ar[i]=replacementSeq[i-1]; ll mki=0; fo(i,1,n) { tut[ar[i]]=i; if(ar[i]>ar[mki]) mki=i; } ll cnt=-1; ll l=ar[mki]-n; fo(i,1,n) tutmac[i]=ar[i]; ll x=0; ar[0]=0; fo(i,1,n) if(ar[i]<=n) { x=i; break; } fo(i,x+1,n) ar[i]=ar[i-1]+1; for(int i=x;i>=1;i--) ar[i]=ar[i+1]-1; fo(i,n+1,tutmac[mki]) { if(tut[i]) { replacementSeq[i-n-1]=ar[tut[i]]; ar[tut[i]]=i; } else { replacementSeq[i-n-1]=ar[tut[mki]]; ar[tut[mki]]=i; } } return l; } //---------------------- int countReplacement(int n, int inputSeq[]) { return -3; } // int bos[N]; // int main() // { // fast; // ll n; // cin>>n; // fo(i,0,n-1) // cin>>ar[i]; // // fo(i,0,n-1) // // cout<<ar[i]<<sp; // cout<<endl; // cout<<valid(n,bos); // }

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:58:6: warning: unused variable 'flag' [-Wunused-variable]
  int flag=0;
      ^~~~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:89:7: warning: unused variable 'cnt' [-Wunused-variable]
    ll cnt=-1;
       ^~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...