Submission #359284

# Submission time Handle Problem Language Result Execution time Memory
359284 2021-01-26T15:53:17 Z mohamedsobhi777 Languages (IOI10_languages) C++14
65 / 100
514 ms 6892 KB
#include <bits/stdc++.h>
#include "lang.h"
#include "grader.h"

using namespace std;

const int Lang = 56;

int lang[Lang + 1][66000];
int *glo;
int freq[66000];
set<int> sit[66000];

long long calc(int lan)
{
       for (int i = 0; i < 100; ++i)
              freq[glo[i]] = 0;
       long long ret = 0;
       for (int i = 0; i < 100; ++i)
       {
              if (int(sit[glo[i]].size()) > 30)
                     continue;
              ret += ++freq[glo[i]] * lang[lan][glo[i]];
       }
       return ret;
}

void excerpt(int *ex)
{
       glo = ex;
       long long simi = 0;
       int wnr = 0;
       for (int i = 0; i < Lang; ++i)
       {
              double y = calc(i);
              if (y > simi)
              {
                     simi = y;
                     wnr = i;
              }
       }
       int z = language(wnr);
       for (int i = 0; i < 100; ++i)
       {
              //              lang[z][ex[i]]++;
              lang[z][ex[i]] = min(lang[z][ex[i]] + 1, 15);
              sit[ex[i]].insert(z);
       }
}
# Verdict Execution time Memory Grader output
1 Correct 492 ms 6892 KB Output is correct
# Verdict Execution time Memory Grader output
1 Partially correct 514 ms 6864 KB Output is partially correct - 60.55%