제출 #676494

#제출 시각아이디문제언어결과실행 시간메모리
676494penguin133Ice Hockey World Championship (CEOI15_bobek)C++17
100 / 100
331 ms20884 KiB
#include <bits/stdc++.h> using namespace std; long long n,m,A[45],cnt=1; vector<long long> v1, v2; void dfs(int i, long long v){ if(i > n/2)return; if(v >= A[i]){ cnt++; v1.push_back(m-v+A[i]); dfs(i+1, v-A[i]); } dfs(i+1, v); } void dfs2(int i, long long v){ if(i > n)return; if(v >= A[i]){ cnt++; v2.push_back(m-v+A[i]); dfs2(i+1, v-A[i]); } dfs2(i+1, v); } int main(){ cin >> n >> m; for(int i=1;i<=n;i++)cin >> A[i]; dfs(1, m); dfs2(n/2+1, m); sort(v2.begin(), v2.end()); for(int i=0;i<v1.size();i++){ int s =0, e = v2.size()- 1, ans = -1; while(s <= e){ int mid = s + (e-s)/2; if(v2[mid] + v1[i] <= m){ s= mid+1; ans= mid; } else e = mid - 1; } cnt += ans+1; } cout << cnt; }

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

bobek.cpp: In function 'int main()':
bobek.cpp:30:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |  for(int i=0;i<v1.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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...