| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
WA 了,好心人给帮测试一下,发现错误后请致函Happy_Baby_Me@163.com,谢谢#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
struct xxx
{
int a,b;
}task[10005],s1[10005],s2[10005];
bool cmp1(struct xxx u,struct xxx v)
{
if(u.a<v.a)
return true;
return false;
}
bool cmp2(struct xxx u,struct xxx v)
{
if(u.b>v.b)
return true;
return false;
}
int main()
{
int n,i,j,k;
while(scanf("%d",&n)&&n)
{
j=0,k=0;
for(i=0;i<n;i++)
{
scanf("%d%d",&task[i].a,&task[i].b);
if(task[i].a<task[i].b)
{
s1[j].a=task[i].a;
s1[j++].b=task[i].b;
}
else
{
s2[k].a=task[i].a;
s2[k++].b=task[i].b;
}
}
sort(s1,s1+j,cmp1);
sort(s2,s2+k,cmp2);
int restime=0,sum=0;
for(i=0;i<j;i++)
{
if(i==0)
{
sum+=s1[i].a+s1[i].b;
restime=s1[i].b;
continue;
}
if(s1[i].a>=restime)
{
sum+=(s1[i].a-restime)+s1[i].b;
restime=s1[i].b;
}
else if(s1[i].a<restime)
{
sum+=s1[i].b;
restime=restime+s1[i].a+s1[i].b;
}
}
for(i=0;i<k;i++)
{
if(s2[i].a>=restime)
{
sum+=(s2[i].a-restime)+s2[i].b;
restime=s2[i].b;
}
else
{
restime=restime-s2[i].a+s2[i].b;
sum+=s2[i].b;
}
}
printf("%d\n",sum);
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator