Cod sursa(job #2317103)

Utilizator Andrei-27Arhire Andrei Andrei-27 Data 12 ianuarie 2019 20:20:19
Problema Nivele Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<bits/stdc++.h>
using namespace std ;
ifstream f ("nivele.in") ;
ofstream g ("nivele.out") ;
int main ()
{
    int t ; f >> t ;
    while ( t-- )
    {int n , sw = 1 ; f >> n ;
    int v [ n + 5 ] = {0};
    for ( int i = 1 ; i <= n ; ++ i )
    {
        int x ; f >> x ;
        if ( x > n )    sw = 0;
        else            v [ x ] ++ ;
    }
    for ( int i = 1 ; i <= n ; ++ i )   cout << v [ i ] << ' ' ;
    if ( sw )
    for ( int i =  n ; i >= 2 ; i -- )
    {
        v [ i - 1 ] += v [ i ] >> 1 ;
        if ( v [ i ] % 2   || ( !v [ i ] && v [ i + 1 ] ) )  { sw = 0; break ; }
    }
    if ( v [ 1 ] != 1 ) sw = 0 ;
    if ( sw )   g << "DA\n" ;
    else        g << "NU\n" ;
    }
}