답안 #357633

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
357633 2021-01-24T09:24:45 Z Mefarnis Languages (IOI10_languages) C++14
97 / 100
9325 ms 32548 KB
#include <bits/stdc++.h>
#include "grader.h"
#define maxl 56
#define maxc 100
#define maxt 65536
#define pb push_back
using namespace std;
typedef pair<int,int> pi;
typedef pair<pi,pi> pii;
typedef pair<pii,int> piii;

set<piii> s;

void excerpt(int tokens[maxc]) {
	int score[maxl];
	for( int l = 0 ; l < maxl ; l++ ) {
		score[l] = 0;
		for( int i = 0 ; i <= maxc-4 ; i++ ) {
			pi p1 = pi(tokens[i],tokens[i+1]);
			pi p2 = pi(tokens[i+2],tokens[i+3]);
			piii p = piii(pii(p1,p2),l);
			score[l] += s.count(p);
		}
	}	
	int bestScore = -1;
	vector<int> candidates;
	for( int l = 0 ; l < maxl ; l++ )
		if(score[l] > bestScore) {
			bestScore = score[l];
			candidates.clear();
			candidates.pb(l);
		}
		else if(score[l] == bestScore)
			candidates.pb(l);
	int sz = candidates.size();
	srand(time(NULL));
	int l = candidates[rand()%sz];
	l = language(l);
	for( int i = 0 ; i <= maxc-4 ; i++ ) {
		pi p1 = pi(tokens[i],tokens[i+1]);
		pi p2 = pi(tokens[i+2],tokens[i+3]);
		piii p = piii(pii(p1,p2),l);
		s.insert(p);
	}
}
# 결과 실행 시간 메모리 Grader output
1 Correct 9207 ms 32376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 9325 ms 32548 KB Output is partially correct - 89.04%