Submission #149003

#TimeUsernameProblemLanguageResultExecution timeMemory
149003갓띵건 (#200)Crosses on the Grid (FXCUP4_cross)C++17
100 / 100
122 ms6880 KiB
#include "cross.h" #include<bits/stdc++.h> using namespace std; #define fast ios::sync_with_stdio(false);cin.tie(0) #define fi first #define se second #define eb emplace_back #define pb push_back #define all(v) (v).begin(), (v).end() #define pre(a) cout<<fixed;cout.precision(a) typedef long long ll; typedef pair<int,int> pii; typedef pair<ll, ll> pll; const int inf = 1e9; const ll INF = 1e18; priority_queue<int> pQ; vector<pii> v; long long SelectCross(int K, std::vector<int> I, std::vector<int> O) { int n = I.size(); for(int i=0; i<n; i++) { v.eb(I[i], O[i]); } sort(all(v)); ll ans = 0; for(int i=n-1; i >= 0; i--) { if(pQ.size() == K-1) { ll out; if(K > 1) out = min(v[i].se, -pQ.top()); else out = v[i].se; ll in = v[i].fi; ans = max(ans, 2 * out * in - in * in); } if(pQ.size() < K-1) pQ.push(-v[i].se); else if(pQ.size() && -pQ.top() < v[i].se) { pQ.pop(); pQ.push(-v[i].se); } } return ans; }

Compilation message (stderr)

cross.cpp: In function 'long long int SelectCross(int, std::vector<int>, std::vector<int>)':
cross.cpp:32:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(pQ.size() == K-1) {
      ~~~~~~~~~~^~~~~~
cross.cpp:41:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(pQ.size() < K-1) pQ.push(-v[i].se);
      ~~~~~~~~~~^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...