#include <stdlib.h>
#include <stdio.h>
#include <cmath>
#include <unordered_map>
#include "grader.h"
#include "lang.h"
#define SZ 100
using namespace std;
typedef long long ll;
const int M = 100;
const int N = 2;
const int K = 15;
int a[65555][65];
int y[65];
unordered_map<ll, int> ma;
//int cnt = 0;
void excerpt(int *E)
{
// int mx2 = -1, mi2 = 0;
// for(int i = 0; i < 56; i++) y[i] = 0;
// for(int i = 0; i < 100; i++)
// {
// int mx = -1, mi = 0, mx2 = -1;
// for(int j = 0; j < 56; j++)
// {
// if(x[E[i]][j] > mx) mx = x[E[i]][j], mi = j;
// else if(x[E[i]][j] > mx2) mx2 = x[E[i]][j];
// }
// y[mi] += M + N * sqrt(mx - mx2) + K * sqrt(sqrt(mx - mx2));
// }
// mx2 = -1;
// for(int i = 0; i < 56; i++)
// {
// if(y[i] > mx2) mx2 = y[i], mi2 = i;
// }
int mx = -1, mi = -1;
// for(int i = 0; i < 56; i++)
// {
// int cnt = 0;
// for(int j = 0; j < 1; j++)
// {
// ll t = E[j] * 65536LL * 65536LL + E[j + 1] * 65536LL + E[j + 2];
// ll t2 = E[j + 1] * 65536LL + E[j + 2];
// cnt += 5 * x.count(t * 100 + i);
// }
// for(int j = 5; j < 10; j++)
// {
// ll t = E[j] * 65536LL * 65536LL + E[j + 1] * 65536LL + E[j + 2];
// ll t2 = E[j + 1] * 65536LL + E[j + 2];
// cnt += 1 * x.count(t * 100 + i);
// }
// for(int j = 95; j < 100; j++)
// {
// ll t = E[j] * 65536LL * 65536LL + E[j + 1] * 65536LL + E[j + 2];
// ll t2 = E[j + 1] * 65536LL + E[j + 2];
// cnt += 1 * x.count(t * 100 + i);
// }
// if(mx < cnt) mx = cnt, mi = i;
// }
int cnt[59];
for(int i = 0; i < 56; i++) cnt[i] = 0;
for(int i = 0; i < 100; i++)
{
int mx1 = -1, mx2 = -1, mi = -1;
int mx3 = 1;
for(int j = 0; j < 56; j++)
{
mx3 += a[E[i]][j];
if(mx1 < a[E[i]][j]) mx2 = mx1, mx1 = a[E[i]][j], mi = j;
else if(mx2 < a[E[i]][j]) mx2 = a[E[i]][j];
}
cnt[mi] += 1 + (mx1 * 50 / (mx3)) * (mx1 * 50 / (mx3));
if(i == 99) break;
for(ll j = 0; j < 56; j++) cnt[j] += ma[E[i] * 6553600 + E[i + 1] * 100 + j];
}
int mxx = -1, mii = 0;
for(int i = 0; i < 56; i++)
{
if(mxx < cnt[i]) mxx = cnt[i], mii = i;
}
int k = language(mii);
for(int i = 0; i < 100; i++)
{
// ll t = E[i] * 65536ULL * 65536ULL + E[i + 1] * 65536ULL + E[i + 2];
// x.insert(t * 100 + k);
// ll t2 = E[i] * 65536LL + E[i + 1];
// xxx.insert(t2 * 100 + k);
a[E[i]][k]++;
if(i < 99) ma[E[i] * 6553600 + E[i + 1] * 100 + k] += 1;
}
// cnt++;
}
Compilation message
lang.cpp: In function 'void excerpt(int*)':
lang.cpp:42:9: warning: unused variable 'mx' [-Wunused-variable]
42 | int mx = -1, mi = -1;
| ^~
lang.cpp:42:18: warning: unused variable 'mi' [-Wunused-variable]
42 | int mx = -1, mi = -1;
| ^~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1368 ms |
97476 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
1375 ms |
97628 KB |
Output is partially correct - 73.61% |