Cod sursa(job #389953)

Utilizator shinerainBarbu Mada shinerain Data 2 februarie 2010 16:27:05
Problema Multimi2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.41 kb
#include <fstream>
using namespace std;
ifstream f ("multimi2.in");
ofstream g ("multimi2.out");
int n,v[1000001],i,n1,nrel1,nrel2,dmin;
int main()

{	f>>n;
	n1=n/2;
		if (n%2==0)if(n1%2==0)
				{for (i=1;i<=n1;i=i+2)
					{v[i]=1;
					v[i+1]=2;
					nrel1++;
						nrel2++;}
				for (i=n1+1;i<=n;i=i+2)
					{v[i]=2;
					v[i+1]=1;
					nrel1++;
					nrel2++;}
					dmin=0;
				}
			else 
				{for (i=1;i<n1;i=i+2)
					{v[i]=1;
					v[i+1]=2;
					nrel1++;
						nrel2++;}
				for (i=n1+2;i<=n;i=i+2)
					{v[i]=2;
					v[i+1]=1;
					nrel1++;
					nrel2++;}
					v[n1]=1;
					v[n1+1]=2;
					nrel1++;nrel2++;
					dmin=1;
				}
		else
					if (n1%2==0)
					{	for (i=1;i<n1;i=i+2)
							{v[i]=1;
							v[i+1]=2;
							nrel1++;
							nrel2++;}
						for(i=n1+2;i<n;i=i+2)
							{v[i]=1;
							v[i+1]=2;
							nrel1++;
							nrel2++;}	
						v[n1]=1;
						v[n1+1]=2;
						nrel1++;nrel2++;
						v[n]=2;
						nrel2++;
						dmin=1;
					}
					else
					{	for (i=1;i<=n1;i=i+2)
							{v[i]=1;
							v[i+1]=2;
							nrel1++;
							nrel2++;}
						for(i=n1+1;i<=n-1;i=i+2)
							{v[i]=1;
							v[i+1]=2;nrel1++;
							nrel2++;}
							v[n]=2;
							nrel2++;
							dmin=0;
			}
					
g<<dmin<<"\n"<<nrel1<<"\n";
	for (i=1;i<=n;i++)
		if(v[i]==1)
			g<<i<<" ";
g<<"\n"<<nrel2<<"\n";
	for (i=1;i<=n;i++)
		if(v[i]==2)
			g<<i<<" ";
	return 0;
}