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 |
|
| 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 |