Cod sursa(job #1020010)

Utilizator NCodeMihai X NCode Data 1 noiembrie 2013 15:15:05
Problema Statistici de ordine Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include<iostream>
#include <vector>
#include <fstream>
#include <algorithm>
using namespace std;

int main()
{

  vector<unsigned> m;
  ifstream ifs;
  ofstream ofs;
  ifs.open("sdo.in");

  unsigned size, k;
  ifs >> size;
  ifs >> k;

  m = vector<unsigned>(k);

  unsigned i, elem;

  for (i = 0; i < k; ++i) {
    ifs >> elem;
    m[i]=(elem);
  }

  std::sort(m.begin(), m.end());

  for (; i < size; ++i) {
    ifs >> elem;
    if (elem > m[k - 1]) {
      continue;
    }

    m.pop_back();

    if (elem > m.back()){
      m.push_back(elem);
      continue;
    }

    //adaugare
    vector<unsigned>::iterator it;
    it = m.begin();
    for (it = m.begin(); *it < elem; it++);
    m.insert(it, elem);
    
  }
  ifs.close();

  ofs.open("sdo.out");
  ofs << m[k-1];
  ofs.close();
}