Cod sursa(job #1287536)

Utilizator nickulNic Kul nickul Data 7 decembrie 2014 19:47:09
Problema Xor Max Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>
#include<vector>

using namespace std;

ifstream in("xormax.in");
ofstream out("xormax.out");

int main()
{
	unsigned int n,i,j,max,start,stop;
	vector<unsigned int> v;
	in>>n;
	v.resize(n);
	for(i=0;i<n;i++) in>>v.at(i);
	max=v.at(0);
	start=0;
	stop=0;
	for(i=n-1;i>0;i--) 
	{
		v.at(i-1)^=v.at(i);
		if(v.at(i-1)>max) 
		{
			max=v.at(i-1);
			stop=v.size();
			start=i;
		}
	}
	while(v.size())
	{
		j=v.at(v.size()-1);
		v.pop_back();
		for(i=0;i<v.size();i++)
		{
			v.at(i)^=j;
			if(v.at(i)>max)
			{
				max=v.at(i);
				stop=v.size();
				start=i+1;
			}
		}
	}
	out<<max<<" "<<start<<" "<<stop;
}