Cod sursa(job #248001)

Utilizator bog29Antohi Bogdan bog29 Data 24 ianuarie 2009 17:34:53
Problema Multimi2 Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<fstream>
using namespace std;
unsigned long suma1(unsigned long p)
{	unsigned long i,s;
	s=0;
	for(i=1;i<=p;i++)s=s+i;
	return s;
}
unsigned long suma2(int p,int m)
{	unsigned long i,s;
	s=0;
	for(i=p+1;i<=m;i++)s=s+i;
	return s;
}
unsigned long diferenta(unsigned long s1,unsigned long s2)
{	if(s1>s2)return s1-s2;
	else return s2-s1;
}
int main(void)
{	int min,pbun,p,i;
	unsigned long s1,s2,difbun,m;
	ifstream in("multimi2.in");
	in>>m;
	in.close();
	min=-1;pbun=0;
	for(p=1;p<=m-1;p++)
	{	s1=suma1(p);
		s2=suma2(p,m);
		if((diferenta(s1,s2)<min)&&(diferenta(s1,s2)>=0))
		{	min=diferenta(s1,s2);
			pbun=p;
			difbun=diferenta(s1,s2);
		}
	}
	ofstream out("multimi2.out");
	out<<difbun<<endl;
	out<<pbun<<endl;
	for(i=1;i<=pbun;i++)out<<i<<" ";
	out<<endl;
	out<<m-pbun<<endl;
	for(i=pbun+1;i<=m;i++)out<<i<<" ";
	out.close();
	return 0;
}