Submission #511447

#TimeUsernameProblemLanguageResultExecution timeMemory
511447AdamGSGondola (IOI14_gondola)C++14
25 / 100
38 ms4660 KiB
#include "gondola.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
#define rep(a, b) for(int a = 0; a < (b); ++a)
#define st first
#define nd second
#define pb push_back
#define all(a) a.begin(), a.end()
int valid(int n, int T[]) {
	rep(i, n) --T[i];
	map<int,int>mp;
	rep(i, n) {
		++mp[T[i]];
		if(mp[T[i]]>1) return 0;
	}
	rep(i, n) if(T[i]<n) {
		rep(j, n) if(T[(i+j)%n]<n) {
			if(T[(i+j)%n]!=(T[i]+j)%n) return 0;
		}
		return 1;
	}
	return 1;
}
int replacement(int n, int T[], int ans[]) {
	rep(i, n) if(T[i]<=n) {
		int P[n];
		rep(j, n) P[(j+T[i]-1-i+n)%n]=T[j];
		rep(j, n) T[j]=P[j];
		break;
	}
	int ma=0;
	rep(i, n) ma=max(ma, T[i]);
	rep(i, n) if(T[i]>n) ans[T[i]-n-1]=i+1;
	rep(i, n) if(T[i]==ma) rep(j, ma-n) if(!ans[j]) ans[j]=i+1;
	return ma-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...