USACO Section 1.2 Milking Cows
2013-11-23 15:30
309 查看
/* ID: lucien23 PROG: milk2 LANG: C++ */ #include<iostream> #include<fstream> #include<algorithm> using namespace std; typedef struct Milking { int start; int end; Milking(){} Milking(int startTime,int endTime) { start=startTime; end=endTime; } }Milking; bool comparer(Milking milking1,Milking milking2) { return milking1.start <= milking2.start; } int main() { ifstream infile("milk2.in"); ofstream outfile("milk2.out"); if(!infile || !outfile) { cout<<"file operation failure!"<<endl; return -1; } int N; infile>>N; Milking *milkings=new Milking ; int startTime,endTime; for (int i=0;i<N;i++) { infile>>startTime>>endTime; milkings[i]=Milking(startTime,endTime); } //对区间进行排序 sort(milkings,milkings+N,comparer); //求最大连续区间 int maxMilking=0,durMilking=0; int startMilking=milkings[0].start; int endMilking=milkings[0].end; maxMilking=endMilking-startMilking; for (int i=1;i<N;i++) { Milking currentMilking=milkings[i]; if(endMilking>=currentMilking.start && endMilking<currentMilking.end) { endMilking=currentMilking.end; } else if(endMilking<currentMilking.start) { durMilking=endMilking-startMilking; if(durMilking>maxMilking) maxMilking=durMilking; startMilking=currentMilking.start; endMilking=currentMilking.end; } } //求最大连续空闲区间 int maxIdle=0,durIdle=0; int startIdle=milkings[0].end; for (int i=1;i<N;i++) { if(milkings[i].start>startIdle) { durIdle=milkings[i].start-startIdle; if(durIdle>maxIdle) maxIdle=durIdle; startIdle=milkings[i].end; }else{ startIdle=max(startIdle,milkings[i].end); } } outfile<<maxMilking<<" "<<maxIdle<<endl; delete[] milkings; return 0; }
相关文章推荐
- [题目] Section 1.2 Milking Cows(USACO)
- USACO Section 1.2 Milking Cows
- USACO Section 1.2 Milking Cows 解题报告
- USACO-Section1.2 Milking Cows [其他]
- USACO-Section 1.2 Milking Cows[数组模拟]
- USACO-Section1.2 Milking Cows
- USACO Section 1.2 : Milking Cows
- USACO - Chapter1 Section 1.2 - Milking Cows
- USACO-Section 1.2 Milking Cows【贪心算法】
- USACO Section1.2 Milking Cows
- USACO-Section1.2 Milking Cows
- USACO-Section1.2 Milking Cows [线段树]
- USACO Section 1.2 Milking Cows
- USACO Section 1.2 Transformations
- USACO-Section 1.2 Milking Cow[枚举]
- USACO Section1.2 Transformations
- [USACO Training] Section 1.2
- USACO Section1.2 Name That Number 解题报告
- usaco section1.2 Transformations
- USACO Section1.2 Palindromic Squares