Cod sursa(job #1795982)

Utilizator mihai.alphamihai craciun mihai.alpha Data 2 noiembrie 2016 23:38:52
Problema Interclasari Scor 100
Compilator cpp Status done
Runda cerculdeinfo-lectia5-paduri.heap.aib Marime 0.91 kb
#include <bits/stdc++.h>
using namespace std;
#define BUF_SIZE 4096
char buf[BUF_SIZE];
int pos = BUF_SIZE;
FILE *fin, *fout;
inline char nextch(){
    if(pos==BUF_SIZE) fread(buf, BUF_SIZE, 1, fin), pos=0;
    return buf[pos++];
}

inline int read(int &x){
    x = 0;
    char ch=nextch();
    while(!isdigit(ch)) ch=nextch();
    while(isdigit(ch)){
        x=10*x+ch-'0';
        ch=nextch();
    }
    return x;
}
int v;
priority_queue<int, vector<int>, greater<int> > heap;
int main()  {
fin = fopen("interclasari.in", "r");
fout = fopen("interclasari.out", "w");
int n, k, i, nr;
read(k);n = 0;
for(i = 0;i < k;i++)  {
    read(nr);
    for(int j = 0;j < nr;j++)  {
        ++n;
        read(v);
      //  printf("%d %d\n", v[j], j);
        heap.push(v);
    }
}
fprintf(fout, "%d\n", n);
int curr;
i = 0;
while(!heap.empty())  {
    fprintf(fout, "%d ", heap.top());
    heap.pop();
}
fclose(fin);
fclose(fout);
return 0;
}