제출 #657622

#제출 시각아이디문제언어결과실행 시간메모리
657622TimDeeA Difficult(y) Choice (BOI21_books)C++17
0 / 100
1 ms208 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=(3*A/2)/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(r-k+1,1); --i) { x=skim(i); paia.push_back({x,i}); } for (int i=r+1; i<=min(r+k-1,n); ++i) { int x=skim(i); paia.push_back({x,i}); } 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)
......
   35 |   forn(i,paia.size()) cnt+=(m>>i)&1;
      |        ~~~~~~~~~~~~~            
books.cpp:35:3: note: in expansion of macro 'forn'
   35 |   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)
......
   38 |   forn(i,paia.size()) if ((m>>i)&1) S+=paia[i].first;
      |        ~~~~~~~~~~~~~            
books.cpp:38:3: note: in expansion of macro 'forn'
   38 |   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)
......
   41 |    forn(i,paia.size()) if ((m>>i)&1) ans.push_back(paia[i].second);
      |         ~~~~~~~~~~~~~           
books.cpp:41:4: note: in expansion of macro 'forn'
   41 |    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...