제출 #921072

#제출 시각아이디문제언어결과실행 시간메모리
921072shoryu386Olympiads (BOI19_olympiads)C++17
13 / 100
2044 ms108376 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int scores[507][6]; int n, k, c; vector<pair<int, int>> res; map<vector<int>, int> store[507][6]; void recur(int x, int remain, vector<int> cur, int cnt){ //cout << x << ' ' << remain << ' ' << cnt << '\n'; //for (auto y : cur) cout << y << ' '; //cout << "\n\n"; if (x == n){ if (remain == 0){ int lol = 0; for (int y = 0; y < k; y++) lol += cur[y]; res.push_back({lol, cnt}); } return; } store[x+1][remain][cur] += cnt; if (remain != 0){ for (int y = 0; y < k; y++){ cur[y] = max(cur[y], scores[x][y]); } store[x+1][remain-1][cur] += cnt; } } main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> k >> c; for (int x = 0; x < n; x++){ for (int y = 0; y < k; y++){ cin >> scores[x][y]; } } vector<int> init; for (int x = 0; x < k; x++){ init.push_back(LLONG_MIN/20); } store[0][k][init] = 1; for (int x = 0; x <= n; x++){ for (int y = 0; y <= k; y++){ while (!store[x][y].empty()){ auto vals = *store[x][y].begin(); recur(x, y, vals.first, vals.second); store[x][y].erase(store[x][y].begin()); } } } sort(res.begin(), res.end(), greater<pair<int, int>>()); //for (auto y : res){ // cout << y.first << ' ' << y.second << '\n'; //} int sum = 0; for (int x = 0; x < res.size(); x++){ sum += res[x].second; if (sum >= c){ cout << res[x].first; break; } } }

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

olympiads.cpp:37:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   37 | main(){
      | ^~~~
olympiads.cpp: In function 'int main()':
olympiads.cpp:73:20: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   73 |  for (int x = 0; x < res.size(); x++){
      |                  ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...