Cod sursa(job #1016310)

Utilizator vlad_beluVlad Belu vlad_belu Data 26 octombrie 2013 00:46:21
Problema Statistici de ordine Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<iostream>
#include<fstream>
using namespace std;

int main(){unsigned n,k,e,i,j,max,a;
ifstream f("sdo.in");
f>>n>>k; unsigned v[n+1],c[k+1];
for(i=1;i<=n;i++){f>>v[i]; if(i<=k)c[i]=v[i];}
f.close();

max=c[1]; j=1;
for(e=2;e<=k;e++) if(c[e]>max) {max=c[e]; j=e;}
a=c[j]; c[j]=c[1]; c[1]=a; j=1;

for(i=k+1;i<=n;i++){
        if(v[i]<c[1]){c[1]=v[i]; max=v[i];
            for(e=2;e<=k;e++) if(c[e]>max) {max=c[e]; j=e;}
            a=c[j]; c[j]=c[1]; c[1]=a; j=1; max=c[1]; }}

bool ok;
do{ok=1;
for(i=1;i<k;i++)if(c[i]>c[i+1]){a=c[i]; c[i]=c[i+1]; c[i+1]=a; ok=0;}
}while(!ok);

ofstream g("sdo.out");
g<<c[k];
g.close();
return 0;}