Submission #3982905
Source Code Expand
#include <bits/stdc++.h>
#define REP(i, s, n) for(int i = s;i < (n);i++)
#define VSORT(v) sort(v.begin(), v.end());
#define int64 long long
#define pb(a) push_back(a)
#define REP64(i, s, n) for(int64 i = s;i < (n);i++)
#define INF 999999999
#define MOD 1000000007
using namespace std;
typedef pair<int, int> P;
typedef pair<int, P> PP;
template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }
int dy[]={0, 0, 1, -1, 0};
int dx[]={1, -1, 0, 0, 0};
//---------------------------------------------------------------
//---------------------------------------------------------------
int N;
int NG1, NG2, NG3;
int dp[300]; // dp{n] = Nから何回引くとnになるかの最低数
// 例: N=5 → dp[5] = 0, dp[4,3,2] = 1, dp[1,0] = 2
// dp[0] <= 100 なら 0 になる --> "YES"
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin >> N;
cin >> NG1 >> NG2 >> NG3;
REP(i, 0, N) dp[i] = INF;
dp[N] = 0;
dp[NG1] = -1;
dp[NG2] = -1;
dp[NG3] = -1;
for(int i=N; i > 0; i--) {
if(dp[i] == INF || dp[i] == -1) continue;
if(dp[i - 1] == INF) dp[i - 1] = dp[i] + 1;
if(i >= 2 && dp[i - 2] == INF) dp[i - 2] = dp[i] + 1;
if(i >= 3 && dp[i - 3] == INF) dp[i - 3] = dp[i] + 1;
}
if(dp[0] <= 100) cout << "YES" << endl;
else cout << "NO" << endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
C - 123引き算 |
User |
k_6101 |
Language |
C++14 (GCC 5.4.1) |
Score |
0 |
Code Size |
1499 Byte |
Status |
WA |
Exec Time |
5 ms |
Memory |
892 KB |
Judge Result
Set Name |
All |
Score / Max Score |
0 / 100 |
Status |
|
Set Name |
Test Cases |
All |
sample_01.txt, sample_02.txt, sample_03.txt, test_143_142_141_140.txt, test_1_1_2_3.txt, test_1_2_3_4.txt, test_200_200_2_3.txt, test_231_77_78_80.txt, test_235_124_126_125.txt, test_253_45_47_48.txt, test_297_223_224_225.txt, test_297_294_292_290.txt, test_297_297_30_83.txt, test_297_3_43_72.txt, test_298_125_123_124.txt, test_298_293_295_291.txt, test_298_298_4_8.txt, test_298_36_72_98.txt, test_298_55_3_43.txt, test_298_92_91_295.txt, test_299_200_151_65.txt, test_299_240_35_154.txt, test_299_300_299_298.txt, test_299_33_242_151.txt, test_299_56_57_58.txt, test_299_66_132_198.txt, test_300_271_44_68.txt, test_300_299_298_296.txt, test_300_30_99_183.txt, test_300_4_5_6.txt, test_84_34_64_36.txt |
Case Name |
Status |
Exec Time |
Memory |
sample_01.txt |
AC |
5 ms |
892 KB |
sample_02.txt |
AC |
1 ms |
256 KB |
sample_03.txt |
WA |
1 ms |
256 KB |
test_143_142_141_140.txt |
AC |
1 ms |
256 KB |
test_1_1_2_3.txt |
AC |
1 ms |
256 KB |
test_1_2_3_4.txt |
AC |
1 ms |
256 KB |
test_200_200_2_3.txt |
AC |
1 ms |
256 KB |
test_231_77_78_80.txt |
AC |
1 ms |
256 KB |
test_235_124_126_125.txt |
AC |
1 ms |
256 KB |
test_253_45_47_48.txt |
AC |
1 ms |
256 KB |
test_297_223_224_225.txt |
AC |
1 ms |
256 KB |
test_297_294_292_290.txt |
AC |
1 ms |
256 KB |
test_297_297_30_83.txt |
AC |
1 ms |
256 KB |
test_297_3_43_72.txt |
AC |
1 ms |
256 KB |
test_298_125_123_124.txt |
AC |
1 ms |
256 KB |
test_298_293_295_291.txt |
AC |
1 ms |
256 KB |
test_298_298_4_8.txt |
AC |
1 ms |
256 KB |
test_298_36_72_98.txt |
AC |
1 ms |
256 KB |
test_298_55_3_43.txt |
AC |
1 ms |
256 KB |
test_298_92_91_295.txt |
AC |
1 ms |
256 KB |
test_299_200_151_65.txt |
AC |
1 ms |
256 KB |
test_299_240_35_154.txt |
AC |
1 ms |
256 KB |
test_299_300_299_298.txt |
AC |
1 ms |
256 KB |
test_299_33_242_151.txt |
AC |
1 ms |
256 KB |
test_299_56_57_58.txt |
AC |
1 ms |
256 KB |
test_299_66_132_198.txt |
AC |
1 ms |
256 KB |
test_300_271_44_68.txt |
AC |
1 ms |
256 KB |
test_300_299_298_296.txt |
AC |
1 ms |
256 KB |
test_300_30_99_183.txt |
WA |
1 ms |
256 KB |
test_300_4_5_6.txt |
WA |
1 ms |
256 KB |
test_84_34_64_36.txt |
AC |
1 ms |
256 KB |