제출 #621978

#제출 시각아이디문제언어결과실행 시간메모리
621978Deepesson선물상자 (IOI15_boxes)C++17
70 / 100
2088 ms187032 KiB
#include <bits/stdc++.h> long long delivery(int N, int K, int L, int p[]); using ll = long long; ll inf = 1LL<<60LL; long long delivery(int N, int K, int L, int p[]) { ll dp[N+1]; for(auto&x:dp)x=inf; dp[0]=0; std::multiset<ll> setnob,setcob; setnob.insert(0); setcob.insert(2*L-2*p[0]); std::deque<ll> dn,dc; dn.push_back(0); dc.push_back(2*L-2*p[0]); for(int i=0;i!=N;++i){ ll custo_local = std::min((ll)L,(ll)2*p[i]); dp[i+1]=std::min(dn.front()+custo_local,*setcob.begin()); if(dn.size()==K){ dn.pop_front(); } if(dc.size()==K){ setcob.erase(setcob.find(dc.front())); dc.pop_front(); } ll custo_push = 2*L-2*p[i+1]; dn.push_back(dp[i+1]); setcob.insert(dp[i+1]+custo_push); dc.push_back(dp[i+1]+custo_push); } return dp[N]; }

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

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:19:21: warning: comparison of integer expressions of different signedness: 'std::deque<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   19 |         if(dn.size()==K){
      |            ~~~~~~~~~^~~
boxes.cpp:22:21: warning: comparison of integer expressions of different signedness: 'std::deque<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   22 |         if(dc.size()==K){
      |            ~~~~~~~~~^~~
#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...