Cod sursa(job #390150)

Utilizator meicilxMeici Vlad Alexandru meicilx Data 3 februarie 2010 10:12:45
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.94 kb
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    ifstream fin("loto.in");
    ofstream fout("loto.out");
    int N,a[1000],i,b[6],min=9999,max=0,j,aux,k=0,nr=0,nmin=9999,gt=0,S1=0,nmax=9999,S2=0;
    fin>>N;
    for(i=1;i<=N;i++)
        fin>>a[i];
    for(i=1;i<=6;i++)
        fin>>b[i];
    for(i=1;i<=6;i++)
    {
        if(b[i]<min) min=b[i];
        if(b[i]>max) max=b[i];
    }
    i=1;
    j=1;
    while(nr!=6)
    {
        if(a[i]==b[j])
        {
            for(k=i;k<=N;k++)
            {
                aux=a[k];
                a[k]=a[k+1];
            }
            N--;
            i=1;    
            nr++;
            j=0;
        }
        if(j==6)
        {
            j=0;
            i++;
        }
        j++;
    }
    for(i=1;i<N;i++)
        for(j=i+1;j<=N;j++)
            if(a[j]<a[i])
            {
                aux=a[i];
                a[i]=a[j];
                a[j]=aux;
            }
    for(k=1;k<=N;k++)
    {
        if(min<a[1]) nmin=a[1];
        if(max>a[N]) nmax=a[N];
        if((min>a[k])&&(min<a[k+1]))
        {
            S1=min-a[k];
            S2=a[k+1]-min;
            if(S1<S2) nmin=a[k];
            else nmin=a[k+1];
        }
        if((max>a[k])&&(max<a[k+1]))
        {
            S1=max-a[k];
            S2=a[k+1]-max;
            if(S1<S2) nmax=a[k];
            else nmax=a[k+1];
        }
    }
    for(i=1;i<=6;i++)
    {
        if(b[i]==min)
        {
            aux=b[i];
            b[i]=nmin;
            nmin=aux;
        }
        if(b[i]==max)
        {
            aux=b[i];
            b[i]=nmax;
            nmax=aux;
        }
    }
    for(i=1;i<6;i++)
        for(j=i+1;j<=6;j++)
            if(b[j]<b[i])
            {
                aux=b[i];
                b[i]=b[j];
                b[j]=aux;
            }
    for(i=1;i<=6;i++)
        fout<<b[i]<<" ";
    return 0;
}