Pagini recente » Cod sursa (job #951106) | preONI 2007, Runda Finala, Clasele 11-12 | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #248001)
Cod sursa(job #248001)
#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;
}