| ||||||||||
| 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 | |||||||||
新手参考,大神勿进题意是这样的:c只牛,每只每天吃 1 KG 饲料,每只牛都有一个出现时间,start 和end ,当然在添加饲料之前它是不会吃主人的饲料的(不知道它是怎么活下来的--!),添加饲料之后,每天吃 1 KG,当然你要判断D天在那只牛离开之前还是之后,(离开之后的话,额,它不会吃饲料)。
主人在第 N 天 添加了饲料 f1 KG,在第 D 天还剩下 f2 KG 饲料。求N.
啰里啰唆的半天,其实解决很简单,你把每天牛要吃的饲料加起来,知道D,向前遍历,f1-f2就是吃掉的饲料值,当变成0 时,那天肯定就是添加饲料的那天。
#include<iostream>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string>
#include<string.h>
#include<algorithm>
#define N 2001
using namespace std;
int s[N];
int main()
{
int i,j,c,f1,f2,d,m,n;
scanf("%d%d%d%d",&c,&f1,&f2,&d);
memset(s,0,sizeof(s));
for(i=0;i<c;i++)
{
scanf("%d%d",&m,&n);
for(j=m;j<=n;j++) s[j]++;
}
f1-=f2;
for(i=d;i>=1;i--)
{
f1-=s[i];
if(f1==0)break;
}
printf("%d\n",i);
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator