제출 #149622

#제출 시각아이디문제언어결과실행 시간메모리
149622Solo Leveling (#200)십자가 놓기 (FXCUP4_cross)C++17
100 / 100
228 ms19116 KiB
#include "cross.h" #include <bits/stdc++.h> using namespace std; #define pii pair<long long,long long> #define F first #define S second typedef long long ll; multiset<ll> Sx; long long SelectCross(int K, std::vector<int> I, std::vector<int> O) { vector<pii> v(I.size()); for(int i = 0 ; i < I.size() ; i ++){ v.push_back(pii(O[i] , I[i])); } sort(v.rbegin() , v.rend()); ll ans = 0; for(int i = 0 ; i < I.size() ; i ++){ if(Sx.size() == K-1){ ll uu = v[i].second; if(Sx.size()){ auto u = Sx.begin(); uu = *u; uu = min(uu , v[i].second); } ans = max(ans , v[i].first * v[i].first - (v[i].first - uu)*(v[i].first - uu)); } Sx.insert(v[i].second); while(Sx.size() >= K){ auto u = Sx.begin(); ll X = *u; Sx.erase(Sx.find(X)); } } return ans; }

컴파일 시 표준 에러 (stderr) 메시지

cross.cpp: In function 'long long int SelectCross(int, std::vector<int>, std::vector<int>)':
cross.cpp:12:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0 ; i < I.size() ; i ++){
                  ~~^~~~~~~~~~
cross.cpp:17:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0 ; i < I.size() ; i ++){
                  ~~^~~~~~~~~~
cross.cpp:18:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(Sx.size() == K-1){
      ~~~~~~~~~~^~~~~~
cross.cpp:29:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   while(Sx.size() >= K){
         ~~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...