Submission #1315136


Source Code Expand

#include <stdio.h>
#include <stdbool.h>
int main(void){
    int n;  //問題数
    int p[100]; //各問題の得点
    bool can_get[10001]={0};    //合計得点でこの点数がありえるか?
    can_get[0]=1;   //0点は確実にありえる
    
    scanf("%d",&n); //問題数の入力
    for(int i=0;i<n;i++)scanf("%d",&p[i]);  //各問題の得点入力
    
    //DP
    for(int i=0;i<n;i++){   //問題数だけくりかえす
        for(int j=10000;j>=0;j--){  //想定しうる最大の得点10000から0に向かう
            if(can_get[j]==1){  //もし、現段階でj点がありえるのであれば、
                can_get[j+p[i]]=1;  //j+その問題の配点 もありえる
            }
        }
    }
    
    //ありえる得点の数を数える
    int ans=0;
    for(int i=0;i<=10000;i++)if(can_get[i])ans++;
    printf("%d\n",ans);
    return 0;
}

Submission Info

Submission Time
Task A - コンテスト
User infer496
Language C (GCC 5.4.1)
Score 2
Code Size 916 Byte
Status AC
Exec Time 1 ms
Memory 128 KB

Compile Error

./Main.c: In function ‘main’:
./Main.c:9:5: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&n); //問題数の入力
     ^
./Main.c:10:25: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
     for(int i=0;i<n;i++)scanf("%d",&p[i]);  //各問題の得点入力
                         ^

Judge Result

Set Name All
Score / Max Score 2 / 2
Status
AC × 5
Set Name Test Cases
All 00, 01, 02, 90, 91
Case Name Status Exec Time Memory
00 AC 1 ms 128 KB
01 AC 1 ms 128 KB
02 AC 1 ms 128 KB
90 AC 1 ms 128 KB
91 AC 1 ms 128 KB