Pagini recente » Cod sursa (job #2887788) | Cod sursa (job #1337764) | Cod sursa (job #1746638) | Cod sursa (job #2079283) | Cod sursa (job #304482)
Cod sursa(job #304482)
#include<iostream>
#include<stdio.h>
short int a[50000],b[50000];
using namespace std;
int main()
{
FILE *f=fopen("multimi2.in","r"), *g=fopen("multimi2.out","w");
unsigned int i,n,d=0,s1=1,s2=1,ok=2,ss1=0,ss2=0;
fscanf(f,"%u",&n);
if(n%2==0)
{ a[1]=n; b[1]=1; s1=2;s2=2;
for(i=n-1;i>1;i--)
if(ok==2) {b[s2]=i;b[s2+1]=i-1;s2=s2+2;i=i-1;ok=1;}
else if(ok==1) {a[s1]=i;a[s1+1]=i-1;s1=s1+2;i=i-1;ok=2;}
}
else
{a[1]=n; s1=1;
for(i=n-1;i>=1;i--)
if(ok==2) {b[s2]=i;b[s2+1]=i-1;s2=s2+2;i=i-1;ok=1;}
else if(ok==1) {a[s1]=i;a[s1+1]=i-1;s1=s1+2;i=i-1;ok=2;}
}if(s1>2) s1--;if(s2>2)s2--;
for(i=1;i<=s1;i++)
ss1=ss1+a[i];
for(i=1;i<=s2;i++)
ss2=ss2+b[i];
if(ss1>=ss2) d=ss1-ss2;
if(ss2>ss1) d=ss2-ss1;
fprintf(g,"%u\n",d);
fprintf (g,"%u\n",s1);
for(i=1;i<=s1;i++)
fprintf(g,"%hd ",a[i]);
fprintf(g,"\n");
fprintf (g,"%u\n",s2);
for(i=1;i<=s2;i++)
fprintf(g,"%hd ",b[i]);
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;
}