답안 #887428

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
887428 2023-12-14T14:13:56 Z Faisal_Saqib Languages (IOI10_languages) C++17
99 / 100
3493 ms 135844 KB
#include <iostream>
#include "grader.h"
#include <set>
#include <map>
#include <random>
#include <vector>
using namespace std;
map<vector<int>,set<int>> wlan;
int cnt1[56];// 50
int cnt2[56];// 30
int cnt3[56];// 20
void excerpt(int *e)
{
	for(int i=0;i<=55;i++)
		cnt1[i]=cnt2[i]=cnt3[i]=0;
	for(int i=0;i<100;i++)
		for(auto j:wlan[{e[i]}])
			cnt1[j]+=50;
	for(int i=0;i<98;i++)
		for(auto j:wlan[{e[i],e[i+1],e[i+2]}])
			cnt3[j]+=30;
	for(int i=0;i<96;i++)
		for(auto j:wlan[{e[i],e[i+1],e[i+2],e[i+3],e[i+4]}])
			cnt2[j]+=20;
	int cu=0;
	for(int i=0;i<=55;i++)
		if((cnt1[i]+cnt2[i]+cnt3[i])>(cnt1[cu]+cnt2[cu]+cnt3[cu]))
			cu=i;
	cu=language(cu);
	for(int i=0;i<100;i++)
		wlan[{e[i]}].insert(cu);
	for(int i=0;i<99;i++)
		wlan[{e[i],e[i+1]}].insert(cu);
	for(int i=0;i<96;i++)
		wlan[{e[i],e[i+1],e[i+2],e[i+3],e[i+4]}].insert(cu);
}
# 결과 실행 시간 메모리 Grader output
1 Correct 3493 ms 135844 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 3484 ms 135592 KB Output is partially correct - 90.20%