Milking Cows

来源:互联网 发布:dct压缩算法 编辑:程序博客网 时间:2024/04/25 12:55

//用到stl中的pair,也可换成其他结构

#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
const int MAXN = 5010;
typedef pair<int, int> pill;
pill tim[MAXN];

int cmp(const pill a, const pill b)
{
    if(a.first == b.first)
        return (a.second < b.second);
    else return (a.first < b.first);
}
int main()
{
    int i, j, k;
    int n, max, min = 0;
    int beg, end;
    ofstream fout("milk2.out");
    ifstream fin("milk2.in");
    fin>>n;
    for(i = 0; i < n; i++)
        fin>>tim[i].first>>tim[i].second;
    sort(tim, tim + n, cmp);
    beg = tim[0].first;
    end = tim[0].second;
    max = end - beg;
    for(i = 0; i < n - 1; i++){
        if(end >= tim[i + 1].first && tim[i + 1].second > end){
            end = tim[i + 1].second;
        }else if(end >= tim[i + 1].first && tim[i + 1].second <= end) {
            continue;
        }
        else{
            if(max < end - beg)
                max = end - beg;
            beg = tim[i + 1].first;
            if(min < beg - end)
                min = beg - end;
            end = tim[i + 1].second;
        }
    }
    if(max < tim[n - 1].second - tim[n - 1].first)
        max = tim[n - 1].second - tim[n - 1].first;
    fout<<max<<" "<<min<<endl;
    return 0;
}

原创粉丝点击