답안 #914692

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
914692 2024-01-22T14:23:25 Z abcvuitunggio Languages (IOI10_languages) C++17
97 / 100
2843 ms 239828 KB
#include <bits/stdc++.h>

#include "grader.h"
#include "lang.h"

#define SZ 100
#define A 65536LL
#define ld long double
#define MOD 458047
using namespace std;
int g,G,a[SZ][3],d[56][MOD][3];
vector <int> p;
void excerpt(int *E){
    if (g<=150){
        p={1,2,4};
        G=1;
    }
    else
        p={6,1,9};
    pair <int, int> mx={0,0};
    for (int i=0;i<SZ-2;i++){
        if (G)
            a[i][0]=E[i];
        for (int j=G;j<3;j++)
            a[i][j]=((j?a[i][j-1]:E[i])*A+E[i+j])%MOD;
    }
    for (int i=0;i<56;i++){
        int cnt=0;
        for (int j=0;j<SZ-2;j++)
            for (int k=0;k<3;k++)
                cnt+=min(d[i][a[j][k]][k],p[k])*p[k];
        mx=max(mx,{cnt,i});
    }
    int res=language(mx.second);
    g++;
    for (int i=0;i<SZ-2;i++)
        for (int j=0;j<3;j++)
            d[res][a[i][j]][j]++;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2769 ms 239584 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 2843 ms 239828 KB Output is partially correct - 89.12%