제출 #1181437

#제출 시각아이디문제언어결과실행 시간메모리
1181437AlgorithmWarriorIce Hockey World Championship (CEOI15_bobek)C++20
100 / 100
165 ms20892 KiB
#include <bits/stdc++.h> using namespace std; int n; long long m; vector<long long>v1,v2,sum1,sum2; void read(){ cin>>n>>m; int jum=n/2; int i; for(i=1;i<=jum;++i){ long long nr; cin>>nr; v1.push_back(nr); } for(i=jum+1;i<=n;++i){ long long nr; cin>>nr; v2.push_back(nr); } } void gen_sum(vector<long long>&v,vector<long long>&sum,int ind,long long sm){ if(ind==(int)v.size()) sum.push_back(sm); else{ gen_sum(v,sum,ind+1,sm); gen_sum(v,sum,ind+1,sm+v[ind]); } } long long solve(){ sort(sum1.begin(),sum1.end()); sort(sum2.begin(),sum2.end()); int id=(int)sum2.size()-1; int i; long long cnt=0; for(i=0;i<(int)sum1.size();++i){ while(id>=0 && sum1[i]+sum2[id]>m) --id; cnt+=id+1; } return cnt; } int main() { read(); gen_sum(v1,sum1,0,0); gen_sum(v2,sum2,0,0); cout<<solve(); return 0; }
#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...