Cod sursa(job #537488)

Utilizator RobertBBadea Corneliu Robert RobertB Data 20 februarie 2011 16:38:49
Problema Sate Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <iostream>
#include <fstream>
using namespace std;

int vector[100024];
int sir[100024];
int sate[100024];


int main()
{
	ifstream citire("sate.in");
	ofstream scriere("sate.out");
	int N,M,x,y,i_curent,j_curent,D,a,Suma;
	citire>>N>>M>>x>>y;
	int OK=Suma=0;
	int Max=0;
	int Min=0;
	int R=1;
	while(OK==0)
	{
		for(a=0;a<M;a++)
		{
			if(R==1)
			{
				citire>>i_curent>>j_curent>>D;
				vector[a]=i_curent;
				sir[a]=j_curent;
				sate[a]=D;
			}
			else
			{
				if(Min!=x)
				{
					if(vector[a]==x)
					{
						Min=x;
						Suma+=sate[a];
						Max=sir[a];
						break;
					}
				}
				else
				{
					if(sir[a]==Max && vector[a]!=Min)
					{
						Suma-=sate[a];
						Max=vector[a];
					}
					else if(vector[a]==Max)
					{
						Suma+=sate[a];
						Max=sir[a];
					}
				}
				if(Max==y)
				{
					OK=1;
					break;
				}
			}
		}
	R=0;
	}
	scriere<<Suma;
}