답안 #159763

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
159763 2019-10-24T13:36:35 Z maximath_1 곤돌라 (IOI14_gondola) C++11
20 / 100
58 ms 5112 KB
#include "gondola.h"
#include<bits/stdc++.h>
using namespace std;

int valid(int n, int inputSeq[]){
	map<int, bool>mp;
	for(int i=0; i<n; i++){
		if(!mp[inputSeq[i]])
			mp[inputSeq[i]]=true;
		else return 0;
	}
	int fi=-1;
	for(int i=0; i<n; i++){
		if(inputSeq[i]<=n){
			if(fi==-1) fi=i;
			else{
				int check=i+inputSeq[fi]-fi;
				check%=n;
				if(check==0) check=n;
				if(check!=inputSeq[i]) return 0;
			}
		}
	}
	return 1;
}

int replacement(int n, int gondolaSeq[], int replacementSeq[]){
	int rotate=0;
	for(int i=0; i<n; i++){
		if(gondolaSeq[i]<=n) rotate=(n+gondolaSeq[i]-i+1)%n;
	}
	int now;
	priority_queue<pair<int, int>, vector<pair<int, int> >, greater<pair<int, int> > >pq;
	for(int i=0; i<n; i++){
		now=gondolaSeq[(n+i-rotate)%n];
		if(now>n) pq.push({now, i+1});
	}
	int idx=0, cnt=0;
	while(!pq.empty()){
		int replacementGondola=pq.top().first;
		int idxc=pq.top().second;
		pq.pop();
		replacementSeq[idx++]=idxc;
		for(int i=cnt; i<replacementGondola; i++){
			replacementSeq[idx++]=i;
		}
		cnt=replacementGondola+1;
	}
	return idx;
}

int countReplacement(int n, int inputSeq[]){
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 292 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 19 ms 2424 KB Output is correct
7 Correct 14 ms 1272 KB Output is correct
8 Correct 35 ms 4344 KB Output is correct
9 Correct 12 ms 1528 KB Output is correct
10 Correct 48 ms 5112 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 20 ms 2424 KB Output is correct
7 Correct 14 ms 1144 KB Output is correct
8 Correct 35 ms 4600 KB Output is correct
9 Correct 12 ms 1656 KB Output is correct
10 Correct 53 ms 4988 KB Output is correct
11 Correct 2 ms 376 KB Output is correct
12 Correct 2 ms 376 KB Output is correct
13 Correct 24 ms 2424 KB Output is correct
14 Correct 2 ms 376 KB Output is correct
15 Correct 58 ms 5084 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Integer 0 violates the range [1, 77]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Integer 0 violates the range [1, 77]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Integer 0 violates the range [1, 77]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -