Submission #1210593

#TimeUsernameProblemLanguageResultExecution timeMemory
1210593PenguinsAreCuteWorst Reporter 4 (JOI21_worst_reporter4)C++17
0 / 100
101 ms98116 KiB
#include <bits/stdc++.h>
using namespace std;
int main() {
	int n;
	cin >> n;
	int a[n], h[n], c[n], g[n];
	for(int i=0;i<n;i++) {
		cin >> a[i] >> h[i] >> c[i];
		a[i]--;
	}
	memcpy(g,h,sizeof(g));
	sort(g,g+n);
	for(int i=0;i<n;i++)
		h[i] = lower_bound(g,g+n,h[i])-g;
	int dp[n][n];
	memset(dp,0,sizeof(dp));
	for(int i=n;i--;) {
		for(int j=0;j<n;j++)
			if(j!=h[i])
				dp[i][j] += c[i];
		for(int j=n-1;j--;)
			dp[i][j]=min(dp[i][j],dp[i][j+1]);
		if(i)
			for(int j=0;j<n;j++)
				dp[a[i]][j]+=dp[i][j];
	}
	cout << dp[0][0];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...