Cod sursa(job #2785940)

Utilizator DajaMihaiDaja Mihai DajaMihai Data 19 octombrie 2021 20:49:06
Problema Patrate2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <stdio.h>
#include <fstream>
int OrignStv[2000], IntrStv[2000];
char Rzlv[4000];
using namespace std;

ifstream in ("bile2.in");
ofstream out ("bile2.out");
int main()
{
    int n, i, j, e, p, c, done;
    in >> n;
    for ( i = 0; i < n; i++ )
        in >> OrignStv[i];
    done = 0;
    p = 0;
    c = 0;
    i = 0;
    j = 1;
    in >> e;
    while ( !done ){
        if ( p > 0 && IntrStv[p-1] == e ){
            Rzlv[c] = 'O';
            c++;
            p--;
            if ( j < n ){
                in >> e;
                j++;
            }
            else
                done = 1;
        }
        else if ( i < n ){
            Rzlv[c] = 'I';
            c++;
            IntrStv[p] = OrignStv[i];
            p++;
            i++;
        }
        else
            done = 1;
    }
    if ( c == 2 * n ){
        for ( i = 0; i < c; i++ )
            out << Rzlv[i];
        }
    else
        out << "imposibil";
    return 0;
}