Submission #159215

# Submission time Handle Problem Language Result Execution time Memory
159215 2019-10-21T13:32:59 Z Akashi Ice Hockey World Championship (CEOI15_bobek) C++14
50 / 100
413 ms 20816 KB
#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();
        if(pos == v[1].size() || v[1][pos] + it > m) --pos;
        if(pos >= 0) Sol = Sol + pos + 1;
    }

    printf("%lld", Sol);

    return 0;
}



















Compilation message

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:36:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if(pos == v[1].size() || v[1][pos] + it > m) --pos;
            ~~~~^~~~~~~~~~~~~~
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 time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 2 ms 292 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 26 ms 2032 KB Output is correct
2 Correct 93 ms 5476 KB Output is correct
3 Correct 413 ms 20816 KB Output is correct
4 Correct 85 ms 5476 KB Output is correct
5 Correct 10 ms 1524 KB Output is correct
6 Correct 6 ms 1012 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 39 ms 2924 KB Output is correct
2 Correct 28 ms 2076 KB Output is correct
3 Correct 185 ms 10588 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 5 ms 1008 KB Output is correct
6 Correct 12 ms 1648 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 57 ms 3560 KB Output is correct
2 Correct 120 ms 6544 KB Output is correct
3 Correct 127 ms 6624 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 48 ms 6624 KB Output is correct
6 Correct 175 ms 20816 KB Output is correct
7 Correct 2 ms 380 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 162 ms 12756 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 19 ms 2028 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 198 ms 20788 KB Output isn't correct
2 Halted 0 ms 0 KB -