제출 #256495

#제출 시각아이디문제언어결과실행 시간메모리
256495PedroBigMan곤돌라 (IOI14_gondola)C++14
25 / 100
23 ms2676 KiB
#include "gondola.h" #include <iostream> #include <vector> #include <cmath> #include <algorithm> #include <string> #include <map> #include <unordered_map> #include <set> #include <unordered_set> #include <queue> #include <deque> #include <list> #include <iomanip> #include <stdlib.h> #include <time.h> #include <cstring> using namespace std; typedef long long int ll; typedef unsigned long long int ull; typedef long double ld; #define REP(i,a,b) for(ll i=(ll) a; i<(ll) b; i++) #define pb push_back #define mp make_pair #define pl pair<ll,ll> #define ff first #define ss second #define whole(x) x.begin(),x.end() #define DEBUG(i) cout<<"Pedro Is The Master "<<i<<endl #define INF 500000000LL #define EPS 0.00000001 #define pi 3.14159 ll mod=99824LL; template<class A=ll> void Out(vector<A> a) {REP(i,0,a.size()) {cout<<a[i]<<" ";} cout<<endl;} int valid(int n, int inputSeq[]) { ll N=(ll) n; vector<ll> s; REP(i,0,N) {s.pb((ll) inputSeq[i]);} vector<ll> copy = s; sort(whole(copy)); REP(i,0,N-1) {if(copy[i]==copy[i+1]) {return 0;}} REP(i,0,N) {if(s[i]>N) {s[i]=-1;} else {s[i]--;}} ll fi=-1; REP(i,0,N) {if(s[i]!=-1) {fi=i; break;}} if(fi==-1) {return 1;} REP(i,0,N) { if(s[i]==-1) {continue;} if(((s[i]-i)-(s[fi]-fi))%N!=0) {return 0;} } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int r[]) { ll N =(ll) n; vector<ll> s; REP(i,0,N) {s.pb((ll) gondolaSeq[i]);} REP(i,0,N) { if(s[i]<=N) { ll shift = (s[i]-1LL-i)%N; //shift to the right vector<ll> copy_s; REP(j,0,N) {copy_s.pb(s[(j-shift+N)%N]);} s=copy_s; break; } } ll max_ind = (ll) (max_element(whole(s))-s.begin()); ll R = s[max_ind]-N; unordered_map<ll,ll> m; REP(i,0,N) {m[s[i]]=i;} ll last = max_ind+1; REP(i,0,R) { ll val = N+i+1; unordered_map<ll,ll>::iterator it = m.find(val); if(it==m.end()) {r[i]=last; last=val;} else {r[i]=m[val]+1;} } return R; } //---------------------- 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...