Submission #1242609

#TimeUsernameProblemLanguageResultExecution timeMemory
1242609repsakCatfish Farm (IOI22_fish)C++20
0 / 100
73 ms16028 KiB
#include "fish.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; long long max_weights(int N, int M, vector<int> X, vector<int> Y, vector<int> W) { ll colOne = 0; ll colTwo = 0; for(int i = 0; i < M; i++){ assert(X[i] <= 1); if(X[i] == 0) colOne += W[i]; if(X[i] == 1) colTwo += W[i]; } if(N <= 2) return max(colOne, colTwo); vector<vector<int>> a; vector<vector<int>> b; for(int i = 0; i < M; i++){ if(X[i] == 0) a.push_back({Y[i], W[i]}); if(X[i] == 1) b.push_back({Y[i], W[i]}); } sort(a.begin(), a.end()); sort(b.begin(), b.end()); int bCounter = 0; ll stackA = 0; ll stackB = 0; ll best = 0; for(int i = 0; i < (int)a.size(); i++){ stackA += a[i][1]; while(bCounter < (int)b.size() && b[bCounter][0] <= a[i][0]){ stackB += b[bCounter][1]; bCounter++; } best = max( best, stackA + colTwo - stackB ); } return best; } // #include "grader.cpp"
#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...