Submission #159216

#TimeUsernameProblemLanguageResultExecution timeMemory
159216AkashiIce Hockey World Championship (CEOI15_bobek)C++14
50 / 100
422 ms20872 KiB
#include <bits/stdc++.h>
using namespace std;

int n, l;
long long m;
long long a[42];
vector <long long> v[2];

void back(int i, int n, long long Sum = 0){
    if(Sum > m) return ;
    if(i == n + 1){
        v[l].push_back(Sum);
        return ;
    }

    back(i + 1, n, Sum);
    back(i + 1, n, Sum + a[i]);
}

int main()
{
    scanf("%d%lld", &n, &m);
    for(int i = 1; i <= n ; ++i)
        scanf("%d", &a[i]);

    l = 0;
    back(1, n / 2);

    l = 1;
    back(n / 2 + 1, n);

    sort(v[1].begin(), v[1].end());
    long long Sol = 0;
    for(auto it : v[0]){
        int pos = upper_bound(v[1].begin(), v[1].end(), m - it) - v[1].begin();
        Sol = Sol + pos;
    }

    printf("%lld", Sol);

    return 0;
}



















Compilation message (stderr)

bobek.cpp: In function 'int main()':
bobek.cpp:24:26: warning: format '%d' expects argument of type 'int*', but argument 2 has type 'long long int*' [-Wformat=]
         scanf("%d", &a[i]);
                     ~~~~~^
bobek.cpp:22:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%lld", &n, &m);
     ~~~~~^~~~~~~~~~~~~~~~~~
bobek.cpp:24:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &a[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...