Submission #1164155

#TimeUsernameProblemLanguageResultExecution timeMemory
1164155SmuggingSpunCatfish Farm (IOI22_fish)C++20
3 / 100
49 ms7240 KiB
#include<bits/stdc++.h> #include "fish.h" using namespace std; typedef long long ll; template<class T>void maximize(T& a, T b){ if(a < b){ a = b; } } ll max_weights(int n, int m, vector<int>X, vector<int>Y, vector<int>W){ bool is_sub1 = true; for(int& x : X){ if(x & 1){ is_sub1 = false; break; } } if(is_sub1){ return accumulate(W.begin(), W.end(), 0LL); } if(*max_element(X.begin(), X.end()) <= 1){ ll sum = 0; vector<vector<pair<int, int>>>p(2); for(int i = 0; i < m; i++){ if(X[i] == 1){ sum += W[i]; p[1].emplace_back(Y[i], W[i]); } else{ p[0].emplace_back(Y[i], W[i]); } } p[1].emplace_back(-1, 0); p[1].emplace_back(n, 0); sort(p[0].begin(), p[0].end()); sort(p[1].begin(), p[1].end()); int i = 0; ll ans = sum; for(int j = 0; j + 1 < p[1].size(); j++){ sum -= p[1][j].second; while(i < p[0].size() && p[0][i].first < p[1][j + 1].first){ sum += p[0][i].second; i++; } maximize(ans, sum); } return ans; } }

Compilation message (stderr)

fish.cpp: In function 'll max_weights(int, int, std::vector<int>, std::vector<int>, std::vector<int>)':
fish.cpp:49:1: warning: control reaches end of non-void function [-Wreturn-type]
   49 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...