Cod sursa(job #710718)

Utilizator Luncasu_VictorVictor Luncasu Luncasu_Victor Data 10 martie 2012 17:07:15
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>
#include <vector>
#include <algorithm>

std::vector<int> v;
char c[5500000],*p;

bool cmp(int a,int b){if(a>b)return true; else return false;}

int main(){
    int n,i,x;
        freopen("algsort.in","r",stdin);
        freopen("algsort.out","w",stdout);
    scanf("%d ",&n);
    fgets(c,5500000,stdin);
    p=c;
    for(i=0;i<n;i++){
        x=0;
        while('0'<=*p&&*p<='9'){
        x=x*10+*p-'0'; p++;}
        while(*p==' ')p++;
        v.push_back(x);
        push_heap(v.begin(),v.end(),cmp); }
    for(i=0;i<n;i++){
        printf("%d ",v[0]);
        pop_heap(v.begin(),v.end(),cmp);
        v.pop_back();}
}