标签:
#include<iostream>
#include<algorithm>
#define MAXN 205
using namespace std;
struct node
{
int time;
int money;
int state;
int ans;
bool b;
};
node _m[MAXN];
int n;
void sort_f();
int compare(const void * i,const void * j);
int main()
{
//freopen("acm.acm","r",stdin);
int k;
int t;
int i;
int j;
int max = 0;
int tem;
bool boo = false;
bool b1;
cin>>n>>k>>t;
_m[0].ans = 0;
_m[0].money = 0;
_m[0].state = 0;
_m[0].time = 0;
for(i = 0; i <= n; ++ i)
{
_m[i].ans = 0;
_m[i].b = true;
}
for(i = 1; i <= n; ++ i)
{
cin>>_m[i].time;
}
for(i = 1; i <= n; ++ i)
{
cin>>_m[i].money;
}
for(i = 1; i <= n; ++ i)
{
cin>>_m[i].state;
}
sort_f();
for(i = 1; i <= n; ++ i)
{
if(_m[i].time < _m[i].state)
{
_m[i].b = false;
continue;
}
for(j = 0; j < i; ++ j)
{
if( (abs(_m[i].state - _m[j].state) <= (_m[i].time - _m[j].time) )&& _m[j].b)
{
if(_m[i].ans < (tem = _m[i].money + _m[j].ans) )
{
_m[i].ans = tem;
}
}
}
}
for(i = 1; i <= n; ++ i)
{
if(max < _m[i].ans)
{
max = _m[i].ans;
}
}
cout<<max<<endl;
}
void sort_f()
{
int i;
int j;
int k;
for(i = 0; i <= n; ++ i)
{
for(j = i+1; j <= n; ++ j)
{
if(_m[j].time < _m[i].time)
{
iter_swap(&_m[i],&_m[j]);
}
}
}
}
标签:
原文地址:http://www.cnblogs.com/gavinsp/p/4563223.html