# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
673724 | 2022-12-21T20:25:08 Z | US3RN4M3 | 메기 농장 (IOI22_fish) | C++17 | 123 ms | 26728 KB |
#include"fish.h" #include<bits/stdc++.h> using namespace std; using ll = long long; const int mx = 100105; vector<pair<int, int>> fish[mx]; ll bests[mx]; ll max_weights(int N, int M, vector<int> X, vector<int> Y, vector<int> W) { for(int i = 0; i < M; i++) { fish[X[i] + 10].push_back({Y[i], W[i]}); } for(int i = 0; i <= M + 15; i++) { sort(fish[i].begin(), fish[i].end()); if(i < 10) continue; int cur = i; //if(i > 3) //bests[i - 3] = max(bests[i - 3], bests[i - 4]); //bests[i - 2] = max(bests[i - 2], bests[i - 3]); /* double dock */ { /* i am full */ { ll cur_sum = 0; for(auto [pos, val] : fish[i - 1]) cur_sum += val; for(auto [pos, val] : fish[i + 1]) cur_sum += val; ll best_sum = cur_sum; int pp_idx = 0; int p_idx = 0; while(p_idx != fish[cur - 1].size()) { while(pp_idx != fish[cur - 2].size() && fish[cur - 2][pp_idx].first < fish[cur - 1][p_idx].first) { cur_sum += fish[cur - 2][pp_idx].second; best_sum = max(best_sum, cur_sum); pp_idx++; } cur_sum -= fish[cur - 1][p_idx].second; p_idx++; } bests[i] = max(bests[i], bests[i - 4] + best_sum); } /* prev is full */ { ll cur_sum = 0; for(auto [pos, val] : fish[i - 2]) cur_sum += val; for(auto [pos, val] : fish[i]) cur_sum += val; ll best_sum = cur_sum; int c_idx = 0; int n_idx = 0; while(c_idx != fish[cur].size()) { while(n_idx != fish[cur + 1].size() && fish[cur + 1][n_idx].first < fish[cur][c_idx].first) { cur_sum += fish[cur + 1][n_idx].second; best_sum = max(best_sum, cur_sum); n_idx++; } cur_sum -= fish[cur][c_idx].second; c_idx++; } bests[i] = max(bests[i], bests[i - 4] + best_sum); } } /* single dock */ { ll cur_sum = 0; for(auto [pos, val] : fish[i + 1]) cur_sum += val; bests[i] = max(bests[i], bests[i - 2] + cur_sum); for(auto [pos, val] : fish[i - 1]) cur_sum += val; bests[i] = max(bests[i], bests[i - 3] + cur_sum); //cout << i - 3 << ",2: " << cur_sum << endl; } } //for(int i = 3; i < M + 2; i++) cout << bests[i] << " "; return bests[M + 9]; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 30 ms | 6388 KB | Output is correct |
2 | Correct | 39 ms | 7176 KB | Output is correct |
3 | Correct | 2 ms | 2644 KB | Output is correct |
4 | Correct | 1 ms | 2644 KB | Output is correct |
5 | Runtime error | 123 ms | 26728 KB | Execution killed with signal 11 |
6 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 2656 KB | 1st lines differ - on the 1st token, expected: '2', found: '1' |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 2664 KB | Output is correct |
2 | Incorrect | 2 ms | 2644 KB | 1st lines differ - on the 1st token, expected: '882019', found: '0' |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 2644 KB | 1st lines differ - on the 1st token, expected: '3', found: '2' |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 2644 KB | 1st lines differ - on the 1st token, expected: '3', found: '2' |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 2644 KB | 1st lines differ - on the 1st token, expected: '3', found: '2' |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 2664 KB | Output is correct |
2 | Incorrect | 2 ms | 2644 KB | 1st lines differ - on the 1st token, expected: '882019', found: '0' |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 30 ms | 6388 KB | Output is correct |
2 | Correct | 39 ms | 7176 KB | Output is correct |
3 | Correct | 2 ms | 2644 KB | Output is correct |
4 | Correct | 1 ms | 2644 KB | Output is correct |
5 | Runtime error | 123 ms | 26728 KB | Execution killed with signal 11 |
6 | Halted | 0 ms | 0 KB | - |