Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

不明白为什么要__int64,我的直接int也ac了。。。

Posted by dreamvyps at 2010-12-12 15:06:29 on Problem 1064
/* Poj 1064, wrote by Dream Chen 2010/12/12*/
#include <iostream>
#include <string>
using namespace std;
int N = 0;
int K = 0;
int l = 0;
int r = 0;
int mid = 0;
int a[11000];
int res = 0;
bool judge(int t);
int main(void)
{
//	freopen("input.txt","r",stdin);
	memset((void*)a,0,sizeof(a));
	while(EOF != scanf("%d %d",&N,&K))
	{
		l = 0;r = 0;
		for (int i = 0; i < N; ++i)
		{
			double tmp = 0;
			scanf("%lf",&tmp);
			a[i] = (int)(tmp*100);
			if (a[i] > r) 
			{
				r = a[i];
			}
		}  
		while(l <= r) 
		{
			mid = (l + r) / 2;
			// suit the requiment
			if (judge(mid))
			{
				l = mid + 1; 
			}
			else
			{
				r = mid - 1;
			}
		}

		printf("%.2lf\n",r*0.01);
	}
		return 0;
}

bool judge(int t)
{
	int sum = 0;

	if (t == 0)
	{
		return true;
	}
	for (int i = 0; i < N; ++i)
	{
		sum += a[i] / t;
	}
	if (sum >= K)
	{
		return true;
	}
	else
	{
		return false;
	}
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator