1 条题解
-
0Randle LV 9 @ 2017-10-17 19:57:16
#include<bits/stdc++.h>
const int maxn=10001;
inline const void read(int &a)
{
a=0;char c=getchar();
while(c<'0'||c>'9')c=getchar();
while(c>='0'&&c<='9')
{
a=(a<<1)+(a<<3)+c-'0';
c=getchar();
}
}
inline const void write(int a)
{
if(a<0){putchar('-');a=-a;}
if(a>9)write(a/10);
putchar(a%10+'0');
}
int n,m,r;
struct milk_time
{
int start,end,produce;
}p[maxn];
inline const bool comp(const milk_time&a,const milk_time&b)
{
if(a.start<b.start)return true;
if(a.start>b.start)return false;
if(a.end<b.end)return true;
return false;
}
int f[maxn],ans=0;
int main()
{
memset(f,0,sizeof(f));
read(n);read(m);read(r);
for(int i=1;i<=m;i++)
{read(p[i].start);read(p[i].end);read(p[i].produce);}
std::sort(p+1,p+1+m,comp);
for(int i=1;i<=m;i++)f[i]=p[i].produce;
for(int i=1;i<=m;i++)
{
for(int j=1;j<i;j++)
{
if(p[i].start-p[j].end<r)continue;
f[i]=std::max(f[j]+p[i].produce,f[i]);
}
ans=std::max(ans,f[i]);
}
std::cout<<ans;
return 0;
}
- 1
信息
- 难度
- 8
- 分类
- (无)
- 标签
- 递交数
- 30
- 已通过
- 5
- 通过率
- 17%
- 上传者