UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#211437#3806. 逃跑1891552318840784ms18456kbC++1.2kb2024-08-11 12:58:482024-08-11 13:17:49

answer

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,k,a[200005][10],b[200005][10],an[10],anst,ans,ccc[200005];

void dfs(ll c,ll cn){
	if(c>n||cn==k){
		if(cn<k){
			return;
		}
		for(int i=1;i<=m;i++){
			an[i]=0;
		}
		for(int i=1;i<=cn;i++){
			for(int j=1;j<=m;j++){
				an[j]+=b[i][j];
			}
		}
		anst=0;
		for(int i=1;i<=m;i++){
			if(an[i]<0){
				an[i]=-an[i];
			}
			anst+=an[i];
		}
		ans=max(ans,anst);
		return;
	}
	if(n-c+1+cn<k){
		return;
	}
	dfs(c+1,cn);
	for(int i=1;i<=m;i++){
		b[cn+1][i]+=a[c][i];
	}
	dfs(c+1,cn+1);
	for(int i=1;i<=m;i++){
		b[cn+1][i]-=a[c][i];
	}
	return;
}

int main()
{
	ios_base::sync_with_stdio(false);
    cin.tie(NULL);
	cout.tie(NULL);
	cin>>n>>m>>k;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
		}
	}
	
	if(n<=18&&m!=1){
		dfs(1,0);
		cout<<ans;
		return 0;
	}
	if(m==1){
		for(int i=1;i<=n;i++){
			ccc[i]=a[i][1];
		}
		sort(ccc+1,ccc+n+1);
		for(int i=1;i<=k;i++){
//			cout<<ccc[i]<<" ";
			ans+=ccc[i];
		}
		ans=-ans;
		for(int i=n;i>=n-k+1;i--){
			anst+=ccc[i];
		}
		ans=max(anst,ans);
		cout<<ans;
		return 0;
	}
	
    
    return 0;
}

详细

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 0ms
memory: 1264kb

input:

16 6 10
-8117570516 9044069943 -8048766531 -8085807376 9028744360 -2291836940
8616476021 250513762 9...

output:

231924481827

result:

ok "231924481827"

Test #2:

score: 10
Accepted
time: 0ms
memory: 1264kb

input:

18 8 15
-6677000484 -1719283852 4578001104 8068813014 -80018326 4784041624 -1445243501 5746477070
-4...

output:

266922244841

result:

ok "266922244841"

Test #3:

score: 10
Accepted
time: 30ms
memory: 9872kb

input:

100000 1 30000
-8076175068
4904794051
9104341999
1200537137
7000920774
9670819374
-8604644357
-63778...

output:

210324135222440

result:

ok "210324135222440"

Test #4:

score: 10
Accepted
time: 51ms
memory: 18456kb

input:

200000 1 150000
-2272499492
-8807500507
3725379627
7512017895
4166123214
1269935574
-8584261761
-751...

output:

378098351320197

result:

ok "378098351320197"

Test #5:

score: 0
Wrong Answer
time: 44ms
memory: 9032kb

input:

100000 2 50000
5241196316 8333678776
-5242651186 5299526105
9464328294 -6643098907
-7209213944 -2118...

output:


result:

wrong answer Unexpected EOF in the participants output

Test #6:

score: 0
Wrong Answer
time: 69ms
memory: 9032kb

input:

100000 3 77777
-6171366053 3327407178 6863027058
-2358761813 -865379553 7668502806
-1462046286 16445...

output:


result:

wrong answer Unexpected EOF in the participants output

Test #7:

score: 0
Wrong Answer
time: 64ms
memory: 9028kb

input:

100000 4 80000
1342329756 468586460 -1031261932 -4571220835
8804945368 3053813574 4285088604 5648487...

output:


result:

wrong answer Unexpected EOF in the participants output

Test #8:

score: 0
Wrong Answer
time: 98ms
memory: 9032kb

input:

100000 5 50000
2090638820 9317267787 6793358676 4188448984 -9559977197
7940656860 -2874312253 -64757...

output:


result:

wrong answer Unexpected EOF in the participants output

Test #9:

score: 0
Wrong Answer
time: 214ms
memory: 16836kb

input:

200000 7 150000
9971130068 -8676993799 6080041194 -2943164240 -8998382194 9328104368 -6115122293
-24...

output:


result:

wrong answer Unexpected EOF in the participants output

Test #10:

score: 0
Wrong Answer
time: 214ms
memory: 16836kb

input:

200000 8 190000
1307391941 4980087558 -8998121420 3485381411 -4347578759 3621016169 4723154919 80775...

output:


result:

wrong answer Unexpected EOF in the participants output