Submission #832431

#TimeUsernameProblemLanguageResultExecution timeMemory
832431_martynasCrosses on the Grid (FXCUP4_cross)C++17
100 / 100
115 ms17412 KiB
#include "cross.h" #include <vector> #include <algorithm> #include <numeric> #include <set> using namespace std; long long SelectCross(int K, vector<int> I, vector<int> O) { int N = I.size(); long long mx = 0; vector<int> orderI(N); iota(orderI.begin(), orderI.end(), 0); sort(orderI.begin(), orderI.end(), [&](int i, int j) { return I[i] > I[j]; }); long long mndi = 1e15; multiset<long long> maxo; for(int i = 0, j = 0; i < N; i++) { mndi = I[orderI[i]]; if(maxo.size() < K || (*maxo.begin()) < O[orderI[i]]) { maxo.insert(O[orderI[i]]); if(maxo.size() > K) maxo.erase(maxo.begin()); } if(maxo.size() == K) mx = max(mx, mndi*(2*(*maxo.begin())-mndi)); } return mx; }

Compilation message (stderr)

cross.cpp: In function 'long long int SelectCross(int, std::vector<int>, std::vector<int>)':
cross.cpp:19:18: warning: comparison of integer expressions of different signedness: 'std::multiset<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   19 |   if(maxo.size() < K || (*maxo.begin()) < O[orderI[i]]) {
      |      ~~~~~~~~~~~~^~~
cross.cpp:21:19: warning: comparison of integer expressions of different signedness: 'std::multiset<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   21 |    if(maxo.size() > K) maxo.erase(maxo.begin());
      |       ~~~~~~~~~~~~^~~
cross.cpp:23:18: warning: comparison of integer expressions of different signedness: 'std::multiset<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   23 |   if(maxo.size() == K) mx = max(mx, mndi*(2*(*maxo.begin())-mndi));
      |      ~~~~~~~~~~~~^~~~
cross.cpp:17:17: warning: unused variable 'j' [-Wunused-variable]
   17 |  for(int i = 0, j = 0; i < N; i++) {
      |                 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...