제출 #1289910

#제출 시각아이디문제언어결과실행 시간메모리
1289910MMihalev메기 농장 (IOI22_fish)C++20
9 / 100
76 ms17512 KiB
#include<iostream> #include<algorithm> #include<vector> #include "fish.h" using namespace std; const int MAX_N=1e5+5; int n,m; vector<int>x,y,w; vector<pair<int,int>>cells[MAX_N];//rows,weight long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,std::vector<int> W) { n=N; m=M; x=X; y=Y; w=W; for(int i=0;i<m;i++) { cells[x[i]].push_back({y[i],w[i]}); } for(int i=0;i<n;i++) { sort(cells[i].begin(),cells[i].end()); } long long ans=0; long long ans0=0,ans1=0; for(int i=0;i<m;i++) { if(x[i]==0)ans0+=w[i]; else ans1+=w[i]; } ans=max(ans1,ans0); if(n==2) { return ans; } long long sum0=0,sum1=0; int id0=0,id1=0; for(int i=0;i<n;i++) { while(id0<cells[0].size() && cells[0][id0].first<=i) { sum0+=cells[0][id0].second; id0++; } while(id1<cells[1].size() && cells[1][id1].first<=i) { sum1+=cells[1][id1].second; id1++; } ans=max(ans,sum0+ans1-sum1); } return ans; }
#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...