Cod sursa(job #3297394)

Utilizator Arhiva_Educationala_2Arhiva Educationala doi Arhiva_Educationala_2 Data 22 mai 2025 16:14:03
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <stdio.h>

#include <set>
#include <vector>

int main() {
  FILE *fin = fopen( "heapuri.in", "r" );
  FILE *fout = fopen( "heapuri.out", "w" );

  std::multiset<int> mata;
  std::vector<int> tactu;

  int q;
  fscanf( fin, "%d", &q );
  for( int i = 0; i < q; i++ ){
    int task;
    fscanf( fin, "%d", &task );

    if( task == 1 ){
      int x;
      fscanf( fin, "%d", &x );
      mata.insert( x );
      tactu.push_back( x );
    }else if( task == 2 ){
      int x;
      fscanf( fin, "%d", &x );
      mata.erase( mata.find( tactu[x - 1] ) );
    }else{
      fprintf( fout, "%d\n", *mata.begin() );
    }
  }
  
  fclose( fin );
  fclose( fout );
  return 0;
}