Submission #632388

# Submission time Handle Problem Language Result Execution time Memory
632388 2022-08-19T22:13:43 Z ggoh Languages (IOI10_languages) C++14
100 / 100
7203 ms 24992 KB
#include<bits/stdc++.h>
#include "grader.h"
using namespace std;
typedef long long lint;
typedef unsigned long long ulint;
int V[56][65536];
set<lint>Y[56];
void excerpt(int *E)
{
  int l=0,maxi=-1;
  vector<lint>P;
  for(int k=0;k<5;k++)
  {
    if(k!=0&&k!=3)continue;
    for(int i=0;i+k<100;i++)
    {
      lint h=0;
      for(int j=0;j<=k;j++)
      {
        h=h*65537+E[i+j];
      }
      P.push_back(h);
    }
  }
  sort(P.begin(),P.end());
  P.erase(unique(P.begin(),P.end()),P.end());
  for(int j=0;j<56;j++)
  {
    int kind=0;
    for(auto &i:P)
    {
      if(Y[j].find(i)!=Y[j].end())kind++;
    }
    if(kind>maxi)
    {
      maxi=kind;
      l=j;
    }
  }
 
  int L=language(l);
  for(int k=0;k<5;k++)
  {
    if(k!=0&&k!=3)continue;
    for(int i=0;i+k<100;i++)
    {
      lint h=0;
      for(int j=0;j<=k;j++)
      {
        h=h*65537+E[i+j];
      }
      Y[L].insert(h);
    }
  }
}
# Verdict Execution time Memory Grader output
1 Correct 7203 ms 24992 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7028 ms 24984 KB Output is correct - 91.23%