Cod sursa(job #1757731)

Utilizator ShadereShhhasgash Shadere Data 15 septembrie 2016 18:48:52
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <list>

template <class InputIterator> InputIterator BreakOnFind(InputIterator begin, InputIterator end, int Value)
{
	while (begin != end)
	{
		if (*begin == Value)
			return begin;
		++begin;
	}
	return end;
}

int main()
{
	std::list<int> list;
	int N, x, op;
	std::ifstream ifCitire("Hashuri.in");
	std::ofstream ofAfisare("Hashuri.out");
	ifCitire >> N;
	for (int i = 0; i < N; ++i)
	{
		ifCitire >> op >> x;
		auto Iter = BreakOnFind(list.begin(), list.end(), x);
		if (Iter != list.end())
		{
			if (op == 2)
				list.erase(Iter);
			else if (op == 3)
				ofAfisare << "1\n";
		}
		else
		{
			if (op == 1)
				list.emplace_back(x);
			else if (op == 3)
				ofAfisare << "0\n";
		}
	}
}