답안 #73318

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
73318 2018-08-28T07:13:04 Z TuGSGeReL 곤돌라 (IOI14_gondola) C++14
55 / 100
92 ms 5656 KB
#include "gondola.h"
#include<bits/stdc++.h>
#define ll int
#define mp make_pair
#define pub push_back
#define pob pop_back
#define ss second
#define ff first
#define ext exit(0)
using namespace std;
ll i,j,z=0,st,ans;
vector<ll> vc,vv;
vector<pair<ll,ll> >v;
map<ll,ll>m;
int valid(int n, int inputSeq[])
{
	for(i=0;i<n;i++){
		if(m[inputSeq[i]]==1) return 0;
		m[inputSeq[i]]++;
	}
	for(i=0;i<n;i++){
		if(inputSeq[i]<n){
			st=(i-inputSeq[i]+1+n)%n;
			for(i=st;i<n;i++) vv.pub(inputSeq[i]);
			for(i=0;i<st;i++) vv.pub(inputSeq[i]);
			for(i=0;i<n;i++){
				if(vv[i]>n) continue;
				if(vv[i]!=i+1) return 0;
			}
			return 1;
		}
	}
	return 1;
}
int replacement(int n, int gondolaSeq[], int replacementSeq[]) {
	for(i=0;i<n;i++) gondolaSeq[i]--;
	
	for(i=0;i<n;i++){
		if(gondolaSeq[i] < n){
			st=(i-gondolaSeq[i]+n)%n;
		}
	}
	for(i=0;i<n;i++){
		if(gondolaSeq[i] >= n) v.pub(mp(gondolaSeq[i],(i-st+n)%n));
	}
	sort(v.begin(),v.end());
	if(v.size()==0) {
		return 0;
	}
	while(1){
		if(v.size()==1){
			while(v[0].ff>v[0].ss && v[0].ff>=n){
				if(v[0].ff-1>=n)vc.pub(v[0].ff-1);
				else vc.pub(v[0].ss);
				v[0].ff--;
			}
			break;
		}
		if(v.back().ff==v[v.size()-2].ff+1){
			vc.pub(v.back().ss);
			v.pob();
		}
		else {
			vc.pub(v.back().ff-1);
			v.back().ff--;
			if(v.back().ff==v.back().ss) v.pob();
		}
	}
	reverse(vc.begin(),vc.end());
	for(i=0;i<vc.size();i++) replacementSeq[i]=vc[i]+1;
	return vc.size();
}
int countReplacement(int n, int inputSeq[])
{
  return -3;
}

Compilation message

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:70:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(i=0;i<vc.size();i++) replacementSeq[i]=vc[i]+1;
          ~^~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 248 KB Output is correct
2 Correct 3 ms 484 KB Output is correct
3 Correct 3 ms 484 KB Output is correct
4 Correct 3 ms 484 KB Output is correct
5 Correct 2 ms 484 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 484 KB Output is correct
2 Correct 2 ms 484 KB Output is correct
3 Correct 2 ms 512 KB Output is correct
4 Correct 2 ms 544 KB Output is correct
5 Correct 3 ms 544 KB Output is correct
6 Correct 20 ms 2864 KB Output is correct
7 Correct 15 ms 2864 KB Output is correct
8 Correct 34 ms 4780 KB Output is correct
9 Correct 13 ms 4780 KB Output is correct
10 Correct 50 ms 5424 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 5424 KB Output is correct
2 Correct 2 ms 5424 KB Output is correct
3 Correct 2 ms 5424 KB Output is correct
4 Correct 2 ms 5424 KB Output is correct
5 Correct 3 ms 5424 KB Output is correct
6 Correct 20 ms 5424 KB Output is correct
7 Correct 16 ms 5424 KB Output is correct
8 Correct 43 ms 5424 KB Output is correct
9 Correct 15 ms 5424 KB Output is correct
10 Correct 52 ms 5500 KB Output is correct
11 Correct 3 ms 5500 KB Output is correct
12 Correct 2 ms 5500 KB Output is correct
13 Correct 30 ms 5500 KB Output is correct
14 Correct 3 ms 5500 KB Output is correct
15 Correct 92 ms 5656 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 5656 KB Output is correct
2 Correct 2 ms 5656 KB Output is correct
3 Correct 2 ms 5656 KB Output is correct
4 Correct 2 ms 5656 KB Output is correct
5 Correct 2 ms 5656 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 5656 KB Output is correct
2 Correct 2 ms 5656 KB Output is correct
3 Correct 2 ms 5656 KB Output is correct
4 Correct 2 ms 5656 KB Output is correct
5 Correct 2 ms 5656 KB Output is correct
6 Correct 3 ms 5656 KB Output is correct
7 Correct 2 ms 5656 KB Output is correct
8 Correct 3 ms 5656 KB Output is correct
9 Correct 3 ms 5656 KB Output is correct
10 Correct 2 ms 5656 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 5656 KB Output is correct
2 Correct 2 ms 5656 KB Output is correct
3 Correct 2 ms 5656 KB Output is correct
4 Correct 3 ms 5656 KB Output is correct
5 Correct 3 ms 5656 KB Output is correct
6 Correct 2 ms 5656 KB Output is correct
7 Correct 3 ms 5656 KB Output is correct
8 Correct 3 ms 5656 KB Output is correct
9 Correct 3 ms 5656 KB Output is correct
10 Correct 3 ms 5656 KB Output is correct
11 Correct 15 ms 5656 KB Output is correct
12 Correct 14 ms 5656 KB Output is correct
13 Correct 18 ms 5656 KB Output is correct
14 Correct 18 ms 5656 KB Output is correct
15 Correct 24 ms 5656 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 5656 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 5656 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 5656 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 5656 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -