神秘TLE
查看原帖
神秘TLE
1026052
xse_KaMuaMua楼主2023/8/13 14:02
#include<bits/stdc++.h>
#define ll long long
using namespace std;
struct A{
	int x,y,sum;
//	bool operator<(const A &b)const{
//		return sum>b.sum;
//	}
}a[405];
int xx,yy,ans,now;
inline int read(){
	int x=0,w=1;
	char ch;
	ch=getchar();
	while(ch<'0'||ch>'9')
		if(ch=='-')
			w=-1,ch=getchar();
	while(ch>='0'&&ch<='9')
		x=x*10+ch-'0',ch=getchar();
	return x*w;
}
bool cmp(A a,A b){
	return a.sum>b.sum;
}
int main(){
	int m=read(),n=read(),k=read();
	for(int i=1;i<=m;++i)
		for(int j=1;j<=n;++j){
			int sj=read();
			if(sj)
				a[++now]={i,j,sj};
		}
	stable_sort(a+1,a+1+now,cmp);
	yy=a[1].y;
	for(int i=1;i<=now;++i){
		k-=abs(a[i].x-xx)+abs(a[i].y-yy)+1;
		if(k<a[i].x)
			break;
		xx=a[i].x,yy=a[i].y,ans+=a[i].sum;
	}
	printf("%d",ans);
	return 0;
}

TLE求助,DEV-C++上能过

2023/8/13 14:02
加载中...