Submission #866707

#TimeUsernameProblemLanguageResultExecution timeMemory
866707Onur_Ilgaz곤돌라 (IOI14_gondola)C++17
25 / 100
30 ms5456 KiB
#include "gondola.h" #include <bits/stdc++.h> #define inf INT_MAX using namespace std; int valid(int n, int arr[]) { int ind = 0, mn = inf; set <int> st; for(int i = 0; i < n; i++) { if(arr[i] < mn) ind = i, mn = arr[i]; if(st.count(arr[i])) return 0; st.insert(arr[i]); } int now = mn + 1; // cout<<ind<<" "<<now<<" "; for(int i = (ind + 1) % n; i % n != ind; i = (i + 1) % n, now++) { if(arr[i] <= n and arr[i] != now) { return 0; } } return 1; } //---------------------- int replacement(int n, int arr[], int ans[]) { map <int, int> mp; int mxi = 0, mx = 0; int shift = 0; for(int i = 0; i < n; i++) { mp[arr[i]] = i; if(arr[i] > mx) mxi = i, mx = arr[i]; if(arr[i] <= n) { shift = (arr[i] - i - 1) % n; } } // cout<<"what"<<"\n"; int l = mx; for(int i = n + 1; i <= l; i++) { int val; if(mp.count(i)) { val = mp[i]; } else { val = mxi; } // cout<<val<<" "<<shift<<"\n"; ans[i - (n + 1)] = (val + shift + n) % n + 1; } return l - n; } //---------------------- int countReplacement(int n, int inputSeq[]) { return -3; }
#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...