📄 pku1201.cpp
字号:
#include <stdio.h>
#define TheMax 1000000
#define size 500001
typedef struct Node
{
int s, e, m;
} Node;
Node d[size];
int v[size];
int min, max;
int N;
int main()
{
int i, fd, k;
scanf("%d", &N);
min = TheMax;
max = 0;
for (i = 0; i < N; i++)
{
scanf("%d %d %d", &d[i].s, &d[i].e, &d[i].m);
d[i].e++;
if (min > d[i].s)
{
min = d[i].s;
}
if (max < d[i].e)
{
max = d[i].e;
}
}
fd = 0;
for (i = min; i <= max; i++)
{
v[i] = -TheMax;
}
v[min] = 0;
for (k = min; !fd && k <= max; k++)
{
fd = 1;
for (i = 0; i < N; i++)
{
if (v[d[i].s] != -TheMax && v[d[i].s] + d[i].m > v[d[i].e])
{
v[d[i].e] = v[d[i].s] + d[i].m;
fd = 0;
}
}
for (i = min; i < max; i++)
{
if (v[i] != -TheMax && v[i] > v[i + 1])
{
v[i + 1] = v[i];
fd = 0;
}
}
for (i = max; i > min; i--)
{
if (v[i] != -TheMax && v[i] - 1 > v[i - 1])
{
v[i - 1] = v[i] - 1;
fd = 0;
}
}
}
printf("%d\n", v[max]);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -