Submission #1624962


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
#define repn(i,n) for(int i=1;i<=n;i++)
#define pb push_back
typedef long long ll;
typedef pair<ll,ll>P;
#define fi first
#define sc second
#define mp make_pair
int x[11][11],n,m,k,s,dep;
bool ok = 0;
void dfs(){
	int rui[11][11]={},rui2[11][11]={}; int pre = 0;
	for(int i=1;i<=n;i++){pre = 0; for(int j=1;j<=m;j++){
		rui[i][j] = rui[i][j-1]+x[i][j];
		if(rui[i][j]-pre > s){
			if(dep == k) return;
			for(int k=1;k<=j;k++){
				x[i][k]*=-1; dep++; dfs(); dep--; x[i][k]*=-1;
				
			}return;
		}
		pre = min(pre,rui[i][j]);
	}}
	for(int j=1;j<=m;j++){pre=0; for(int i=1;i<=n;i++){
		rui2[i][j] = rui2[i-1][j]+x[i][j];
		if(rui2[i][j]-pre > s){
			if(dep == k) return;
			for(int k=1;k<=i;k++){
				x[k][j]*=-1; dep++; dfs(); dep--; x[k][j]*=-1;
				
			}return;
		}
		pre = min(pre,rui2[i][j]);
	}}
	//repn(i,n){repn(j,m)cout<<x[i][j]<<" ";cout<<endl;}
	ok=1; return;
}
int main(){
	cin>>n>>m>>k>>s;
	repn(i,n)repn(j,m)cin>>x[i][j];
	dfs();
	puts(ok?"Yes":"No");
}

Submission Info

Submission Time
Task G - Low Range-Sum Matrix
User neandehir
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1096 Byte
Status AC
Exec Time 28 ms
Memory 256 KiB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 44
Set Name Test Cases
All 00_sample_00, 00_sample_01, 00_sample_02, 00_sample_03, 10_rand_00, 10_rand_01, 10_rand_02, 10_rand_03, 10_rand_04, 11_rand_00, 11_rand_01, 11_rand_02, 11_rand_03, 11_rand_04, 20_no_case_00, 20_no_case_01, 20_no_case_02, 20_no_case_03, 20_no_case_04, 21_no_case_00, 21_no_case_01, 21_no_case_02, 21_no_case_03, 21_no_case_04, 30_tight_case_00, 30_tight_case_01, 30_tight_case_02, 30_tight_case_03, 30_tight_case_04, 31_tight_case_00, 31_tight_case_01, 31_tight_case_02, 31_tight_case_03, 31_tight_case_04, 40_tight_case_00, 40_tight_case_01, 40_tight_case_02, 40_tight_case_03, 40_tight_case_04, 41_tight_case_00, 41_tight_case_01, 41_tight_case_02, 41_tight_case_03, 41_tight_case_04
Case Name Status Exec Time Memory
00_sample_00 AC 1 ms 256 KiB
00_sample_01 AC 1 ms 256 KiB
00_sample_02 AC 1 ms 256 KiB
00_sample_03 AC 1 ms 256 KiB
10_rand_00 AC 1 ms 256 KiB
10_rand_01 AC 1 ms 256 KiB
10_rand_02 AC 1 ms 256 KiB
10_rand_03 AC 1 ms 256 KiB
10_rand_04 AC 1 ms 256 KiB
11_rand_00 AC 1 ms 256 KiB
11_rand_01 AC 6 ms 256 KiB
11_rand_02 AC 1 ms 256 KiB
11_rand_03 AC 2 ms 256 KiB
11_rand_04 AC 1 ms 256 KiB
20_no_case_00 AC 1 ms 256 KiB
20_no_case_01 AC 1 ms 256 KiB
20_no_case_02 AC 1 ms 256 KiB
20_no_case_03 AC 1 ms 256 KiB
20_no_case_04 AC 1 ms 256 KiB
21_no_case_00 AC 1 ms 256 KiB
21_no_case_01 AC 1 ms 256 KiB
21_no_case_02 AC 1 ms 256 KiB
21_no_case_03 AC 1 ms 256 KiB
21_no_case_04 AC 1 ms 256 KiB
30_tight_case_00 AC 7 ms 256 KiB
30_tight_case_01 AC 3 ms 256 KiB
30_tight_case_02 AC 11 ms 256 KiB
30_tight_case_03 AC 2 ms 256 KiB
30_tight_case_04 AC 3 ms 256 KiB
31_tight_case_00 AC 1 ms 256 KiB
31_tight_case_01 AC 1 ms 256 KiB
31_tight_case_02 AC 1 ms 256 KiB
31_tight_case_03 AC 1 ms 256 KiB
31_tight_case_04 AC 1 ms 256 KiB
40_tight_case_00 AC 2 ms 256 KiB
40_tight_case_01 AC 1 ms 256 KiB
40_tight_case_02 AC 11 ms 256 KiB
40_tight_case_03 AC 1 ms 256 KiB
40_tight_case_04 AC 3 ms 256 KiB
41_tight_case_00 AC 7 ms 256 KiB
41_tight_case_01 AC 19 ms 256 KiB
41_tight_case_02 AC 21 ms 256 KiB
41_tight_case_03 AC 28 ms 256 KiB
41_tight_case_04 AC 17 ms 256 KiB