Submission #59631
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #include<bits/stdc++.h> #define lol long long #define gcd(x,y) __gcd(x,y) #define mt make_tuple #define mp make_pair #define fi first #define se second #define fixed fixed<<setprecision(14) using namespace std; using pii=pair< int , int >; template < class A, class B> inline bool chmax(A &a, const B &b) { return b > a && (a = b, true ); } template < class A, class B> inline bool chmin(A &a, const B &b) { return b < a && (a = b, true ); } template < class A> inline lol abs (A &a) { return (a < 0 ? -a : a); } const lol inf=(1LL<<60); const lol MOD=(1e9)+7; const lol mod=998244353; const int dx[]={1,0,-1,0,1,1,-1,-1}; const int dy[]={0,1,0,-1,1,-1,1,-1}; lol n,m,k,r; bool dp[1000][1000]; signed main(){ cin.tie(0); ios::sync_with_stdio( false ); cin >>n>>m; vector< int > a(n); for ( int i=0;i<n;i++){ cin >>a[i]; } dp[0][300]= true ; for ( int i=0;i<n;i++){ for ( int j=0;j<=600;j++){ if (dp[i][j]){ dp[i+1][j]= true ; dp[i+1][j+a[i]]= true ; } } } if (dp[n][m+300]) cout << "OK\n" ; else cout << "NG\n" ; return (0); } |
ステータス
項目 | データ |
---|---|
問題 | 0064 - 足し算できる? |
ユーザー名 | ei1923 |
投稿日時 | 2020-06-04 16:25:37 |
言語 | C++17 |
状態 | Accepted |
得点 | 5 |
ソースコード長 | 1102 Byte |
最大実行時間 | 42 ms |
最大メモリ使用量 | 692 KB |
セット
セット | 得点 | Cases | |
---|---|---|---|
1 | ALL | 5 / 5 | * |
テストケース
ファイル名 | 状態 | 実行時間 | メモリ使用量 | # |
---|---|---|---|---|
AddInput1.txt | AC | 42 ms | 604 KB |
1
|
AddInput2.txt | AC | 23 ms | 680 KB |
1
|
AddInput3.txt | AC | 22 ms | 624 KB |
1
|
AddInput4.txt | AC | 29 ms | 692 KB |
1
|
AddInput5.txt | AC | 18 ms | 620 KB |
1
|
AddInput6.txt | AC | 24 ms | 684 KB |
1
|