Submission #1245600

#TimeUsernameProblemLanguageResultExecution timeMemory
1245600alexaaa나일강 (IOI24_nile)C++20
19 / 100
26 ms3780 KiB
#include<iostream> #include<vector> #include<algorithm> #include<numeric> #include "nile.h" using namespace std; std::vector<long long> calculate_costs( std::vector<int> W, std::vector<int> A, std::vector<int> B, std::vector<int> E){ vector<long long> answer; vector<int> extra_cost; vector<int> ec_i(W.size()); iota(ec_i.begin(),ec_i.end(),0); for(int i = 0; i < W.size(); i++){ extra_cost.push_back(A[i]-B[i]); } sort(ec_i.begin(),ec_i.end(),[&](int i, int j){ if(extra_cost[i] == extra_cost[j]){ return i<j; } else{ return extra_cost[i] < extra_cost[j]; } }); for(int i = 0; i < E.size(); i++){ int D = E[i]; long long cost = 0; if(W.size()%2 == 0){ for(int j = 0;j < W.size(); j++){ cost+=B[j]; } answer.push_back(cost); } else{ int skip; if(W[0] == 1 && W[1] == 1){ skip = ec_i[0]; for(int m = 0; m < W.size(); m++){ if(m == skip){ continue; } cost += B[m]; } cost += A[skip]; answer.push_back(cost); } else if(D>= 2){ skip = ec_i[0]; for(int k = 0; k < W.size(); k++){ if(k == skip){ continue; } cost += B[k]; } cost += A[skip]; answer.push_back(cost); } else{ for(int e = 0; e < W.size();e++){ if(ec_i[e]%2 == 0){ skip = ec_i[e]; break; } } for(int l = 0; l < W.size(); l++){ if(l == skip){ continue; } cost += B[l]; } cost += A[skip]; answer.push_back(cost); } } } return answer; }
#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...