제출 #473200

#제출 시각아이디문제언어결과실행 시간메모리
473200MamdouhNSan (COCI17_san)C++17
0 / 120
39 ms65540 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl "\n"

int n,k;
int towers[100],gold[100];
int dp[50][1000000];

int solve(int idx,int sum)
{
    //cout<<idx<<" "<<sum<<endl;
    if(idx==n)return 0;
    if(sum<1000000)if(dp[idx][sum]!=-1)return dp[idx][sum];
    sum+=gold[idx];
    int ret = 0;
    if(sum>=k)ret =  1;
    for(int i=idx+1;i<n;i++)
    {
        if(towers[i]>=towers[idx])ret+=solve(i,sum);
    }
    if(sum<1000000)dp[idx][sum] = ret;
    return ret;
}

main()
{
    memset(dp,-1,sizeof dp);
    cin>>n>>k;
    for(int i=0;i<n;i++)cin>>towers[i]>>gold[i];
    int ans = 0;
    for(int i=0;i<n;i++)ans+=solve(i,0);
    cout<<ans<<endl;
}

컴파일 시 표준 에러 (stderr) 메시지

san.cpp:26:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   26 | main()
      | ^~~~
#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...