Submission #1369823


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

#define REP(i,n) for(int (i)=0;(i)<(int)(n);(i)++)
#define REPO(i,n) for(int (i)=1; (i)<=(int)(n); (i)++)
#define SZ(v) ((int)(v).size())
#define ALL(v) (v).begin(),(v).end()
#define one first
#define two second
typedef long long ll;
typedef pair<int, int> pi;
const int INF = 0x3f2f1f0f;
const ll LINF = 1ll * INF * INF;

const int MAX_N = 5e3 + 10;

int N, K, Nr[MAX_N];
bool L[MAX_N][MAX_N], R[MAX_N][MAX_N];
int FastR[2][MAX_N][MAX_N], All[MAX_N];
int main() {
	cin >> N >> K;
	REPO(i, N) scanf("%d", &Nr[i]);
	L[0][0] = true;
	for(int i=1; i<=N; i++) {
		for(int k=0; k<=K; k++) L[i][k] = L[i-1][k];
		for(int k=0; k+Nr[i]<=K; k++)
			if(L[i-1][k]) L[i][k+Nr[i]] = true;
	}
	R[N+1][0] = true;
	for(int i=N; i>=1; i--) {
		for(int k=0; k<=K; k++) R[i][k] = R[i+1][k];
		for(int k=0; k+Nr[i]<=K; k++)
			if(R[i+1][k]) R[i][k+Nr[i]] = true;
	}

	for(int i=1; i<=N+1; i++) {
		FastR[0][i][0] = R[i][0];
		FastR[1][i][K] = R[i][K];
		for(int k=1; k<=K; k++) FastR[0][i][k] = FastR[0][i][k-1] + R[i][k];
		for(int k=K-1; k>=0; k--) FastR[1][i][k] = FastR[1][i][k+1] + R[i][k];
		for(int k=0; k<=K; k++) All[i] += R[i][k];
	}

	int ans = 0;
	for(int i=1; i<=N; i++) {
		bool find = false;
		for(int k=0; k<K; k++) if(L[i-1][k]) {
			//K-Nr[i]-k to K-k-1
			int l = K-Nr[i]-k-1, r = K-k;
			int ll = 0, rr = FastR[1][i+1][r];
			if(l >= 0) ll = FastR[0][i+1][l];
			int cnt = All[i+1] - ll - rr;
			if(cnt >= 1) {find = true; break;}
		}
		if(!find) ans++;
	}
	printf("%d\n", ans);
	return 0;
}

Submission Info

Submission Time
Task D - No Need
User kajebiii
Language C++14 (GCC 5.4.1)
Score 600
Code Size 1598 Byte
Status AC
Exec Time 467 ms
Memory 245376 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:23:32: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  REPO(i, N) scanf("%d", &Nr[i]);
                                ^

Judge Result

Set Name Sample Subtask All
Score / Max Score 0 / 0 300 / 300 300 / 300
Status
AC × 3
AC × 26
AC × 51
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 6400 KB
0_001.txt AC 2 ms 6400 KB
0_002.txt AC 2 ms 6400 KB
1_003.txt AC 2 ms 6400 KB
1_004.txt AC 2 ms 6400 KB
1_005.txt AC 2 ms 6400 KB
1_006.txt AC 3 ms 8576 KB
1_007.txt AC 3 ms 8576 KB
1_008.txt AC 8 ms 25344 KB
1_009.txt AC 8 ms 25344 KB
1_010.txt AC 7 ms 25344 KB
1_011.txt AC 6 ms 25216 KB
1_012.txt AC 7 ms 25344 KB
1_013.txt AC 6 ms 25216 KB
1_014.txt AC 6 ms 25216 KB
1_015.txt AC 7 ms 25344 KB
1_016.txt AC 2 ms 6400 KB
1_017.txt AC 2 ms 6400 KB
1_018.txt AC 2 ms 6400 KB
1_019.txt AC 7 ms 25344 KB
1_020.txt AC 6 ms 25216 KB
1_021.txt AC 7 ms 25344 KB
1_022.txt AC 5 ms 17152 KB
1_023.txt AC 5 ms 17024 KB
1_024.txt AC 7 ms 25344 KB
1_025.txt AC 7 ms 25344 KB
2_026.txt AC 2 ms 6400 KB
2_027.txt AC 3 ms 8576 KB
2_028.txt AC 3 ms 8576 KB
2_029.txt AC 467 ms 245376 KB
2_030.txt AC 309 ms 245376 KB
2_031.txt AC 233 ms 245376 KB
2_032.txt AC 56 ms 179968 KB
2_033.txt AC 232 ms 245376 KB
2_034.txt AC 41 ms 179968 KB
2_035.txt AC 41 ms 179968 KB
2_036.txt AC 257 ms 245376 KB
2_037.txt AC 3 ms 8704 KB
2_038.txt AC 3 ms 8704 KB
2_039.txt AC 3 ms 8704 KB
2_040.txt AC 209 ms 245376 KB
2_041.txt AC 179 ms 222848 KB
2_042.txt AC 219 ms 245376 KB
2_043.txt AC 123 ms 162048 KB
2_044.txt AC 179 ms 204928 KB
2_045.txt AC 92 ms 185216 KB
2_046.txt AC 185 ms 220672 KB
2_047.txt AC 220 ms 242048 KB
2_048.txt AC 290 ms 245376 KB
2_049.txt AC 259 ms 245376 KB
2_050.txt AC 254 ms 245376 KB