제출 #1009379

#제출 시각아이디문제언어결과실행 시간메모리
1009379alexddA Difficult(y) Choice (BOI21_books)C++17
100 / 100
1 ms596 KiB
#include <bits/stdc++.h> #include "books.h" using namespace std; map<long long,long long> mp; int ramase; long long query(long long x) { if(mp[x]==0) { if(ramase==0) while(1); ramase--; mp[x] = skim(x); } return mp[x]; } long long pref[15]; void solve(int N, int K, long long A, int S) { ramase = S; int primu=N+1; int st=1,dr=N; while(st<=dr) { int mij=(st+dr)/2; if(query(mij) > A) { primu=mij; dr=mij-1; } else st=mij+1; } if(primu<K) { impossible(); return; } if(primu<N+1) { vector<int> sol; long long sum=query(primu); sol.push_back(primu); for(int i=1;i<K;i++) { sol.push_back(i); sum += query(i); } if(sum<=2*A) { answer(sol); return; } } vector<int> pozs; for(int i=1;i<=K;i++) pozs.push_back(i); for(int i=max(primu-K,K+1);i<primu;i++) pozs.push_back(i); for(int i=0;i+K-1<pozs.size();i++) { vector<int> sol; long long sumsol=0; for(int j=i;j<i+K;j++) { sol.push_back(pozs[j]); sumsol += query(pozs[j]); } if(sumsol>=A && sumsol<=2LL*A) { answer(sol); return; } } impossible(); }

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

books.cpp: In function 'void solve(int, int, long long int, int)':
books.cpp:62:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   62 |     for(int i=0;i+K-1<pozs.size();i++)
      |                 ~~~~~^~~~~~~~~~~~
#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...