답안 #897615

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
897615 2024-01-03T13:37:15 Z Macker Languages (IOI10_languages) C++17
56 / 100
1659 ms 6668 KB
#include <bits/stdc++.h>
 
using namespace std;
typedef long long ll;
typedef long double ld;
#define all(v) v.begin(), v.end()

//#pragma GCC optimize("Ofast")
//#pragma GCC target("avx2")

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

#define SZ 100
#define MXLEN 2

set<ll> v[56][MXLEN];
ll m = 42069;
ll mod = 1e9+7;

class HashedArray{
   public:
      vector<ll> hsh;
      vector<ll> val;
};

ll hsh(vector<int> s){
   ll res = 0;
   for (int i = 0; i < s.size(); i++) {
      res += (s[i] * m) % mod;
      res %= mod;
   }
   return res;
}

void excerpt(int *E) {
   vector<int> score(56);
   vector<ll> cur[MXLEN];
   for (int i = 1; i < MXLEN; i++) {
      for (int j = 0; j < 100 - i; j++) {
         vector<int> tmp(E + j, E + i + j);
         cur[i].push_back(hsh(tmp));
      }
   }
   
   for (int i = 0; i < 56; i++) {
      for (int j = 1; j < MXLEN; j++) {
         for (auto &x : cur[j]) {
            if(v[i][j].find(x) != v[i][j].end()){
               score[i] += j * j * j;
            }
         }
      }
   }
   int mx = 0;
   int mxi = 0;
   for (int i = 0; i < 56; i++) {
      if(score[i] > mx) {
         mx = score[i];
         mxi = i;
      }
   }
   
   int lan = language(mxi);

   for (int i = 0; i < MXLEN; i++) {
      for (auto &x : cur[i]) {
         v[lan][i].insert(x);
      }
   }
   
}

Compilation message

lang.cpp: In function 'll hsh(std::vector<int>)':
lang.cpp:29:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |    for (int i = 0; i < s.size(); i++) {
      |                    ~~^~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1659 ms 6668 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 1657 ms 6468 KB Output is partially correct - 52.79%