제출 #897618

#제출 시각아이디문제언어결과실행 시간메모리
897618MackerLanguages (IOI10_languages)C++14
62 / 100
3867 ms3276 KiB
#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 3 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); } } }

컴파일 시 표준 에러 (stderr) 메시지

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++) {
      |                    ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...