제출 #657617

#제출 시각아이디문제언어결과실행 시간메모리
657617TimDeeA Difficult(y) Choice (BOI21_books)C++17
0 / 100
3 ms280 KiB
#include"books.h" #include <bits/stdc++.h> using namespace std; using ll = long long; #define forn(i,n) for(int i=0;i<n;++i) void solve(int n, int k, ll A, int s) { ll d=A/k; int l=1, r=n; vector<pair<int,int>> paia; while (l<r) { int mid=(l+r)>>1; int x=skim(mid); if (x<d) l=mid+1; else r=mid; } int x=skim(r); paia={{x,r}}; for (int i=r-1; i>=max(i-k+1,1); --i) { int x=skim(i); paia.push_back({x,i}); } for (int i=r+1; i<=min(i+k-1,n); ++i) { int x=skim(i); paia.push_back({x,i}); } return; sort(paia.begin(), paia.end()); //for (auto x:paia) cout<<x.first<<' '<<x.second<<'\n'; ll S=0; int cnt=0; for (int m=1; m<(1<<paia.size()); ++m) { cnt=0; forn(i,paia.size()) cnt+=(m>>i)&1; if (cnt!=k) continue; S=0; forn(i,paia.size()) if ((m>>i)&1) S+=paia[i].first; if (S>=A && S<=2*A) { vector<int> ans; forn(i,paia.size()) if ((m>>i)&1) ans.push_back(paia[i].second); answer(ans); return; } } impossible(); }

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

books.cpp: In function 'void solve(int, int, ll, int)':
books.cpp:5:32: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 | #define forn(i,n) for(int i=0;i<n;++i)
......
   36 |   forn(i,paia.size()) cnt+=(m>>i)&1;
      |        ~~~~~~~~~~~~~            
books.cpp:36:3: note: in expansion of macro 'forn'
   36 |   forn(i,paia.size()) cnt+=(m>>i)&1;
      |   ^~~~
books.cpp:5:32: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 | #define forn(i,n) for(int i=0;i<n;++i)
......
   39 |   forn(i,paia.size()) if ((m>>i)&1) S+=paia[i].first;
      |        ~~~~~~~~~~~~~            
books.cpp:39:3: note: in expansion of macro 'forn'
   39 |   forn(i,paia.size()) if ((m>>i)&1) S+=paia[i].first;
      |   ^~~~
books.cpp:5:32: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 | #define forn(i,n) for(int i=0;i<n;++i)
......
   42 |    forn(i,paia.size()) if ((m>>i)&1) ans.push_back(paia[i].second);
      |         ~~~~~~~~~~~~~           
books.cpp:42:4: note: in expansion of macro 'forn'
   42 |    forn(i,paia.size()) if ((m>>i)&1) ans.push_back(paia[i].second);
      |    ^~~~
#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...