提交记录 22369


用户 题目 状态 得分 用时 内存 语言 代码长度
mingjunyi 2003. 【NOI2020】美食家(加强版) Time Limit Exceeded 0 2 s 16440 KB C++ 1.52 KB
提交时间 评测时间
2024-08-19 12:40:48 2024-08-19 12:42:40
#include<bits/stdc++.h> 
using namespace std;

namespace my{

typedef long long LL;

const int N = 260;
LL A[31][N][N];
int n,m,T,K,val[N];

struct cbt{
	int t,u,v;
}ts[N];

bool cmp(cbt a,cbt b){
	return a.t < b.t;
}

int get(int t,int x){
	return t * n + x - 1;
}

void gma(LL &x,LL y) {x < y ? x = y : 0;}

signed main(){
	cin>>n>>m>>T>>K;
	for(int i = 1;i<=n;i++) cin>>val[i];
	memset(A,0xcf,sizeof(A));
	for(int i= 1;i<=m;i++) {
		int b,e,w;
		cin>>b>>e>>w;
		A[0][get(4,e)][get(5 - w,b)] = val[e];
	}
	for(int i = 0;i<4;i++) 
		for(int j = 1;j<=n;j++) 
			A[0][get(i,j)][get(i + 1,j)] = 0;
	const int lim = n * 5;
	for(int i = 0;i!=30;i++) 
		for(int j = 0;j<lim;j++) 
			for(int k = 0;k<lim;k++)
				for(int l = 0;l<lim;l++) 
					gma(A[i+1][j][l],A[i][j][k] + A[i][k][l]);
	
	static LL dp[2][N];
	memset(dp,0xcf,sizeof(dp));
	int now = 0,lst = 1;
	dp[now][get(4,1)] = val[1];
	auto trans = [&](int dt){
		for(int j = 0;j!=31;j++) {
			if(dt >> j & 1) {
				swap(now,lst);
				memset(dp[now],0xcf,sizeof(dp[now]));
				for(int k = 0;k<lim;k++) 
					for(int l = 0;l<lim;l++) 
						gma(dp[now][k],dp[lst][l] + A[j][k][l]);
			}
		}
	};
	
	for(int i = 1;i<=K;i++) cin>>ts[i].t>>ts[i].u>>ts[i].v;
	sort(ts+1,ts + K + 1,cmp);
	for(int i = 1;i<=K;i++) {
		int dt = ts[i].t - ts[i-1].t;
		trans(dt);
		dp[now][get(4,ts[i].u)] += ts[i].v;
	}
	trans(T - ts[K].t);
	LL ans = dp[now][get(4,1)];
	if(ans < 0) ans = -1;
	cout<<ans<<'\n';

	return 0;
}
}

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr),cout.tie(nullptr);
	return my::main();
}

CompilationN/AN/ACompile OKScore: N/A

Subtask #1 Testcase #12 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #22 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #32 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #42 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #52 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #62 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #72 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #82 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #92 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #102 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #112 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #122 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #132 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #142 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #152 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #162 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #172 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #182 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #192 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #202 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #212 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #222 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #232 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #242 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #252 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #262 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #272 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #282 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #292 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #302 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #312 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #322 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #332 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #342 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #352 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #362 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #372 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #382 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #392 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #402 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #412 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #422 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #432 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #442 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #452 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #462 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #472 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #482 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #492 s16 MB + 56 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #502 s16 MB + 56 KBTime Limit ExceededScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2025-07-13 06:07:53 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠