/* Sprendė Eimutis Karčiauskas 1966m. laidos abiturientas
------- duomenis perkelkite į failą
5 30
Siuntuva 2 3
Auda 3 -1
Kostisa -3 -2
Linga 3 0
Austuva -2 -4
*/
#include <iostream>
#include <algorithm>
using namespace std;
struct Siunta {
string vardas; // įmonės vardas
int x, y;
};
// rezervuojame vietą siuntų sąrašui
Siunta siuntos[50]; // pagal nutylėjimą reikšmės nulinės
int ssk = 0; // siuntų sąrašo elementų skaičius
int limitas = 0; // dienos limitas
// rezultatų kintamieji
int atliktu_sk;
int nuvaziuota = 0;
string paskutine;
//------------------------------------------------
// taikysime paiešką su apsaugine reikšme pabaigoje
int siuntos_kelias(Siunta s) {
return 2 * abs(s.x) + 2 * abs(s.y);
}
//------------------------------------------------
void skaityti(){ // skaitomas srautas ir formuojamas sąrašas
cin >> ssk >> limitas;
for (int i = 0; i < ssk; i++){
Siunta s;
cin >> s.vardas >> s.x >> s.y;
siuntos[i] = s;
cout << s.vardas << "_" // išvedimas derinimui
<< s.x << "_" << s.y << endl;
}
}
//============================================
void skaiciuoti(){
for(int i = 0; i < ssk; i++){
int kelias1 = siuntos_kelias(siuntos[i]);
if(nuvaziuota + kelias1 > limitas){ // reikia baigti
atliktu_sk = i;
paskutine = siuntos[i-1].vardas;
return;
}
nuvaziuota += kelias1;
}
}
//------------------------------------------------
// pageidaujamų rezultatų išvedimas
void spausdinti(){
cout << atliktu_sk << " "
<< nuvaziuota << " "
<< paskutine << endl;
}
//------------------------------------------------
int main(){
freopen ("U1.txt","r",stdin);
freopen ("U1rez.txt","w",stdout);
skaityti();
skaiciuoti();
spausdinti();
}
5 30
Siuntuva 2 3
Auda 3 -1
Kostisa -3 -2
Linga 3 0
Austuva -2 -4