답안 #896020

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
896020 2023-12-31T12:41:23 Z vjudge1 Ice Hockey World Championship (CEOI15_bobek) C++17
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>
using namespace std;

const long long maxn =41;
const long long maxs=1e6+20;
const long long mod=1e9+7;
const long long logn=25;

long long n,m;
long long x[maxn];
long long dp[maxn][maxs];

long long f(long long idx,long long s)
{
    if(idx==n)
    {
        if(s<=m)
        {
            return 1;
        }
        return 0;
    }
    if(dp[idx][s]!=-1)
    {
        return dp[idx][s];
    }
    long long rez=0;
    rez+=f(idx+1,s);
    if(s+x[idx]<=m)
    rez+=f(idx+1,s+x[idx]);
    return dp[idx][s]=rez;
}

long long main()
{
    ios_base::sync_with_stdio(false); cin.tie(0);
    cin>>n>>m;
    for(long long i=0;i<n;i++)
    {
        cin>>x[i];
    }
    if(n<=22)
    {
        long long ans=0;
        for(long long i=0;i<(1<<n);i++)
        {
            long long sum=0;
            for(long long bit=0;bit<n;bit++)
            {
                if(i&(1<<bit))
                {
                    sum+=x[bit];
                }
            }
            if(sum<=m)
            {
                ans++;
            }
        }
        cout<<ans<<endl;
    }
    else
    {
        memset(dp,-1,sizeof dp);
        cout<<f(0,0)<<endl;
    }
    return 0;
}

Compilation message

cc1plus: error: '::main' must return 'int'