POJ_Prob.ID:1000 A+B Problem

A+B Problem

**Time Limit:** 1000MS **Memory Limit:** 10000K
**Total Submissions:** 498343 **Accepted:** 281415

Description

Calculate a+b

Input

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

Output

Output a+b

Sample Input

1 2

Sample Output

3

Hint

Q: Where are the input and the output?

A: Your program shall always read input from stdin (Standard Input) and write output to stdout (Standard Output). For example, you can use ‘scanf’ in C or ‘cin’ in C++ to read from stdin, and use ‘printf’ in C or ‘cout’ in C++ to write to stdout.

You shall not output any extra data to standard output other than that required by the problem, otherwise you will get a “Wrong Answer”.

User programs are not allowed to open and read from/write to files. You will get a “Runtime Error” or a "Wrong Answer"if you try to do so.

solution

#include<stdio.h>
#include<algorithm>
#include<iostream>
#define MAX_N 10000
using namespace std;
int N,R;
int X[MAX_N];


int main()
{
	while(scanf("%d %d",&R,&N)&&N!=-1&&R!=-1)
	{
		for(int i=0;i<N;i++)  cin>>X[i];
		
		sort(X,X+N);
		int i=0, ans=0;
		while(i<N){
			int s=X[i++];
			while(i<N&&X[i]<=s+R) i++;
			int p =X[i-1];
			while(i<N&&X[i]<=p+R) i++;
			ans++;
		
		} 
		printf("%d\n",ans);
	}
	return 0;
} 
发布了9 篇原创文章 · 获赞 13 · 访问量 9518

猜你喜欢

转载自blog.csdn.net/ABV09876543210/article/details/104284595