Submission #1176482
Source Code Expand
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pii; typedef pair<ll,int> plli; typedef pair<int,pii> pipii; typedef vector<int> vi; typedef vector<ll> vll; typedef vector<vi> vvi; typedef vector<vvi> vvvi; typedef vector<pii> vpii; #define rep(i,n) for (int i=0;i<(n);i++) #define rep2(i,a,b) for (int i=(a);i<(b);i++) #define rrep(i,n) for (int i=(n);i>=0;i--) #define rrep2(i,a,b) for (int i=(a);i>b;i--) #define pb push_back #define mp make_pair #define fi first #define se second #define all(a) (a).begin(),(a).end() const int mod = 1e9 + 7; const ll INF = 1<<30; const int dx[4] = {1, 0, -1, 0}; const int dy[4] = {0, 1, 0, -1}; int n,k; int ldp[5005][5005]; int rdp[5005][5005]; int main(){ scanf("%d%d",&n,&k); vi a(n); rep(i,n) scanf("%d",&a[i]); rep(i,n){ ldp[i][0]=1;rdp[i][0]=1; if (a[i]<k) ldp[i][a[i]]=1; if (a[n-1-i]<k) rdp[i][a[n-1-i]]=1; } rep2(i,1,n)rep(j,k){ if (j-a[i]>=0) ldp[i][j]=ldp[i-1][j-a[i]]||ldp[i-1][j]; else ldp[i][j]|=ldp[i-1][j]; if (j-a[n-1-i]>=0) rdp[i][j]=rdp[i-1][j-a[n-1-i]]||rdp[i-1][j]; else rdp[i][j]|=rdp[i-1][j]; } rep(i,n)rep2(j,1,k){ rdp[i][j]+=rdp[i][j-1]; } int cnt=0; int lnum=0; rep(i,n){ if (k-a[i]<=0){ cnt+=1; continue; } rep(j,k){ if (i==0) lnum=0; else if (i==n-1){ if (ldp[i-1][j] && a[i]+j>=k){ cnt+=1; break; } continue; } else{ if (ldp[i-1][j]) lnum=j; else continue; } if (k-a[i]-lnum<=0){ cnt+=1; break; } if (rdp[n-2-i][k-1-lnum]-rdp[n-2-i][k-a[i]-lnum-1]){ cnt+=1; break; } } } cout << n-cnt << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - No Need |
User | roto_37 |
Language | C++14 (GCC 5.4.1) |
Score | 600 |
Code Size | 2095 Byte |
Status | AC |
Exec Time | 197 ms |
Memory | 195840 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:34:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d",&n,&k); ^ ./Main.cpp:36:31: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] rep(i,n) scanf("%d",&a[i]); ^
Judge Result
Set Name | Sample | Subtask | All | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | 300 / 300 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | 0_000.txt, 0_001.txt, 0_002.txt |
Subtask | 0_000.txt, 0_001.txt, 0_002.txt, 1_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt, 1_020.txt, 1_021.txt, 1_022.txt, 1_023.txt, 1_024.txt, 1_025.txt |
All | 0_000.txt, 0_001.txt, 0_002.txt, 1_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt, 1_020.txt, 1_021.txt, 1_022.txt, 1_023.txt, 1_024.txt, 1_025.txt, 2_026.txt, 2_027.txt, 2_028.txt, 2_029.txt, 2_030.txt, 2_031.txt, 2_032.txt, 2_033.txt, 2_034.txt, 2_035.txt, 2_036.txt, 2_037.txt, 2_038.txt, 2_039.txt, 2_040.txt, 2_041.txt, 2_042.txt, 2_043.txt, 2_044.txt, 2_045.txt, 2_046.txt, 2_047.txt, 2_048.txt, 2_049.txt, 2_050.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
0_000.txt | AC | 2 ms | 2304 KB |
0_001.txt | AC | 2 ms | 2304 KB |
0_002.txt | AC | 2 ms | 2304 KB |
1_003.txt | AC | 2 ms | 2304 KB |
1_004.txt | AC | 2 ms | 2304 KB |
1_005.txt | AC | 2 ms | 2304 KB |
1_006.txt | AC | 2 ms | 2432 KB |
1_007.txt | AC | 2 ms | 2432 KB |
1_008.txt | AC | 5 ms | 17280 KB |
1_009.txt | AC | 6 ms | 17280 KB |
1_010.txt | AC | 5 ms | 17280 KB |
1_011.txt | AC | 5 ms | 17024 KB |
1_012.txt | AC | 5 ms | 17280 KB |
1_013.txt | AC | 5 ms | 17024 KB |
1_014.txt | AC | 4 ms | 17024 KB |
1_015.txt | AC | 5 ms | 17280 KB |
1_016.txt | AC | 2 ms | 2304 KB |
1_017.txt | AC | 2 ms | 2304 KB |
1_018.txt | AC | 2 ms | 2304 KB |
1_019.txt | AC | 5 ms | 17152 KB |
1_020.txt | AC | 4 ms | 17024 KB |
1_021.txt | AC | 5 ms | 17152 KB |
1_022.txt | AC | 3 ms | 8960 KB |
1_023.txt | AC | 3 ms | 8832 KB |
1_024.txt | AC | 5 ms | 17152 KB |
1_025.txt | AC | 5 ms | 17152 KB |
2_026.txt | AC | 2 ms | 2304 KB |
2_027.txt | AC | 2 ms | 2432 KB |
2_028.txt | AC | 2 ms | 2432 KB |
2_029.txt | AC | 181 ms | 195840 KB |
2_030.txt | AC | 197 ms | 195840 KB |
2_031.txt | AC | 137 ms | 195840 KB |
2_032.txt | AC | 39 ms | 193408 KB |
2_033.txt | AC | 136 ms | 195840 KB |
2_034.txt | AC | 39 ms | 193408 KB |
2_035.txt | AC | 39 ms | 193408 KB |
2_036.txt | AC | 142 ms | 195840 KB |
2_037.txt | AC | 2 ms | 2560 KB |
2_038.txt | AC | 2 ms | 2560 KB |
2_039.txt | AC | 2 ms | 2560 KB |
2_040.txt | AC | 119 ms | 195840 KB |
2_041.txt | AC | 94 ms | 195072 KB |
2_042.txt | AC | 123 ms | 195840 KB |
2_043.txt | AC | 76 ms | 125184 KB |
2_044.txt | AC | 89 ms | 169856 KB |
2_045.txt | AC | 60 ms | 161152 KB |
2_046.txt | AC | 103 ms | 194944 KB |
2_047.txt | AC | 137 ms | 195712 KB |
2_048.txt | AC | 165 ms | 195840 KB |
2_049.txt | AC | 158 ms | 195840 KB |
2_050.txt | AC | 155 ms | 195840 KB |