Cod sursă (job #154283)

Utilizator avatar AnaRadu Ana-Maria Radu AnaRadu IP ascuns
Problemă Lalele (clasele 9-10) Compilator cpp | 0,99 kb
Rundă Arhiva de probleme Status evaluat
Dată 1 sept. 2015 23:41:10 Scor 50
#include <stdio.h>
#include <algorithm>
#define nrflori 5000000
using namespace std;
int v[nrflori+1];
int main(){
    FILE *fin,*fout;
    fin=fopen("lalele.in","r");
    fout=fopen("lalele.out","w");
    int i=0,j,k=0,n,m,x,zile=0;
    fscanf(fin,"%d",&n);
    while(i<n){
        fscanf(fin,"%d%d",&m,&x);
        i+=m;
        if(x!=0){
            zile+=m;
            while(m!=0){
                k++;
                v[k]=x;
                m--;
            }
        }
        else{
            for(j=1;j<zile;j++)
                v[k-j+1]+=j;
            while(j<=k){
                v[k-j+1]+=zile;
                j++;
            }
            sort(v+1,v+k+1);
            j=0;
            while(m!=0){
                fprintf(fout,"%d\n",v[k/2+1]+j);
                k=k/2;
                m--;
                j++;
            }
            zile=j;
            for(j=1;j<=k;j++)
                v[j]+=zile;
            zile=0;
        }
    }
return 0;
}