Submission #43508

#TimeUsernameProblemLanguageResultExecution timeMemory
43508XmtosXIce Hockey World Championship (CEOI15_bobek)C++14
100 / 100
440 ms25376 KiB
#include <bits//stdc++.h> using namespace std; const int mod=1e9+7; int n; long long m,a[50]; vector <long long> v1,v2; void bt (int pos,int x,long long sum) { if (pos==x) { if (x==n) v2.push_back(sum); else v1.push_back(sum); return; } bt(pos+1,x,sum); bt(pos+1,x,sum+a[pos]); } int main() { cin >>n>>m; for (int i=0;i<n;i++) cin >>a[i]; v2.push_back(m+1); bt(0,n/2,0); bt(n/2,n,0); sort(v2.begin(),v2.end()); long long ans=0; for (int i=0;i<v1.size();i++) { long long x=(m-v1[i]); ans+= ((upper_bound(v2.begin(),v2.end(),x)-v2.begin())); } cout <<ans; return 0; }

Compilation message (stderr)

bobek.cpp: In function 'int main()':
bobek.cpp:30:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     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...