Cod sursa(job #2123831)

Utilizator razvan171514Razvan Mihai razvan171514 Data 6 februarie 2018 17:48:02
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb

// Energii.cpp : Defines the entry point for the console application.
//

#include <fstream>
#define st short
#define lim 1005
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n, p;
pair<int, int>v[lim];
void read ()
{
	f >> n >> p;
	for (int i = 1; i <= n; ++i)
		f >> v[i].first >> v[i].second;
}
void partial_sum()
{
	for (int i = 1; i <= n; ++i)
	{
		v[i].first += v[i - 1].first;
		v[i].second += v[i - 1].second;
	}
}
pair<int, int>result;
int find()
{
	for (int i = 1; i <= n; ++i)
		if (v[i].first > p)
		{
			result.first = v[i].first;
			result.second = v[i].second;
			return i;
		}
			
}
int main()
{
	read();
	partial_sum();
	for (int i = find() - 1; i >=1; --i)
		if (result.first - v[i].first >= p)
		{
			result.first -= v[i].first;
			result.second -= v[i].second;
			break;
		}
	g << result.second;
    return 0;
}