码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 1036

时间:2015-06-09 15:26:02      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

#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]);
            }
        }
    }
}

POJ 1036

标签:

原文地址:http://www.cnblogs.com/gavinsp/p/4563223.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!