제출 #1327124

#제출 시각아이디문제언어결과실행 시간메모리
1327124windowwifeLanguages (IOI10_languages)C++20
99 / 100
1997 ms218152 KiB
#ifndef rtgsp
#include "grader.h"
#endif // rtgsp

#ifdef rtgsp
int language (int L)
{
    return L;
}
#endif // rtgsp

#include<bits/stdc++.h>
#define ll long long
#define task ""
using namespace std;
const int maxn = 1e6 + 2, mod = 999983;
int n, cnt[56][mod], ok[maxn][4], p[4] = {1, 7, 2, 10};

void excerpt (int* E)
{
    for (int j = 1; j <= 4; j++)
    {
        for (int i = 0; i < 100 - j + 1; i++)
        {
            ll h = 0;
            for (int k = i; k < i + j; k++)
            {
                h = (h * 65537 + E[k]) % mod;
            }
            ok[i][j - 1] = h;
        }
    }
    pair<ll, int> ans = {0, -1};
    for (int l = 0; l < 56; l++)
    {
        ll cur = 0;
        for (int j = 0; j < 4; j++)
        {
            for (int i = 0; i < 100 - j; i++)
            {
                cur += min(j + 1, cnt[l][ok[i][j]]) * p[j];
            }
        }
        ans = max(ans, make_pair(cur, l));
    }
    int res = language(ans.second);
    for (int j = 0; j < 4; j++)
        for (int i = 0; i < 100 - j; i++)
            ++cnt[res][ok[i][j]];
}

#ifdef rtgsp
int main()
{
    //freopen(task".INP", "r", stdin);
    //freopen(task".OUT", "w", stdout);
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

}
#endif // rtgsp
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...