제출 #159215

#제출 시각아이디문제언어결과실행 시간메모리
159215AkashiIce Hockey World Championship (CEOI15_bobek)C++14
50 / 100
413 ms20816 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();
        if(pos == v[1].size() || v[1][pos] + it > m) --pos;
        if(pos >= 0) Sol = Sol + pos + 1;
    }

    printf("%lld", Sol);

    return 0;
}



















컴파일 시 표준 에러 (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: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 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...