Pagini recente » Cod sursa (job #657356) | Cod sursa (job #788739) | Istoria paginii runda/2232 | Cod sursa (job #1769375) | Cod sursa (job #1863417)
#include <fstream>
#include <vector>
std::ifstream fin("xormax.in");
std::ofstream fout("xormax.out");
std::vector<int> numbers;
void read(unsigned int length)
{
int n = 0;
for (auto i = 0; i < length; i++)
{
fin >> n;
numbers.push_back(n);
}
}
int main()
{
unsigned int length = 0;
unsigned int start = 0, stop = 0;
unsigned int lungime = 1;
int max;
fin >> length;
read(length);
max = numbers[0];
if (numbers.size() < 2)
{
max = numbers[0];
stop = 0;
lungime = 1;
fout << max << ' ' << stop + 2 - lungime << ' ' << stop + 1;
return 0;
}
for (auto i = 1; i < numbers.size(); i++)
{
if ((numbers[i] ^ numbers[i - 1]) > max)
{
max = numbers[i] ^ numbers[i - 1];
numbers[i] = max;
stop = i;
lungime++;
}
else
{
lungime = 1;
}
}
fout << max << ' ' << stop + 2 - lungime << ' ' << stop + 1;
return 0;
}