Cod sursa(job #2783349)

Utilizator teochess2017Togan Teodor-Bogdan teochess2017 Data 14 octombrie 2021 11:58:53
Problema Schi Scor 0
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <stdio.h>
#include <stdlib.h>
int v2[100000],v3[100000];
int main()
{
    FILE *fin,*fout;
    int n,maxj,k,i,j,max,x,dreapta,stanga,mijloc,y;
    fin=fopen("schi.in","r");
    fscanf(fin,"%d",&n);
    max=-1;
    j=-1;
    for(i=0;i<n;i++){
      fscanf(fin,"%d",&x);
      if(x>max){
        max=x;
        j++;
        v3[j]=x;
        v2[j]=1;
      }else{
        v2[j]++;
      }
    }
    maxj=j;
    fscanf(fin,"%d",&k);
    fout=fopen("schi.out","w");
    for(j=0;j<k;j++){
      fscanf(fin,"%d",&y);
      dreapta=maxj+1;
      stanga=0;
      while(dreapta-stanga>1){
        mijloc=(stanga+dreapta)/2;
        if(v3[mijloc]>y){
          dreapta=mijloc;
        }else{
          stanga=mijloc;
        }
      }
      if(v3[stanga]==y){
        fprintf(fout,"%d ",v2[stanga]);
      }else{
        fprintf(fout,"0 ");
      }
    }
    fclose(fin);
    fclose(fout);
    return 0;
}