站点图标 陌路寒暄

A+B Problem

A+B Problem

时间: 1ms        内存:10M

描述:

Calculate a+b

输入:

Two integer a,b (0<=a,b<=10)

输出:

Output a+b

示例输入:

1 2

示例输出:

3

提示:

参考答案(内存最优[0]):

#include<iostream>
using namespace std;
int main()
{
int a,b;
while(cin>>a>>b)
cout<<a+b<<endl;
return 0;
}

参考答案(时间最优[0]):

#include <stdio.h>

main()
{
	int i,j,x,a,b,n[20],m[20];
	double c,e,d[20]; 
	while(scanf("%d%d",&a,&b)!=EOF)
	{
		if(!a&&!b)break;
		for(i=0;i<a;i++)
			scanf("%d%d",&n[i],&m[i]);
		for(i=0;i<a;i++)
		{
			d[i]=(double)m[i]/(double)n[i];
		}
		c=0;
		e=0;
		for(x=0;x<a;x++)
		{
			for(i=j=0;i<a;i++)
			{
				if(d[j]<d[i])j=i;
			}
			if((e+n[j])>=b){i=(b-e);c+=d[j]*i;break;}
			else if(d[j]==0)break;
			else{e+=n[j];c+=m[j];}
			d[j]=0;
		}
		printf("%.2f\n",c);
	}
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

退出移动版