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 |
|
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 |