Cod sursa(job #1684201)
| Utilizator | Data | 10 aprilie 2016 21:20:15 | |
|---|---|---|---|
| Problema | Xor Max | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.67 kb |
#include <fstream>
#define nmax 100005
using namespace std;
long long m[nmax];
long long v[nmax];
long long prec[nmax];
int main()
{
ifstream f("xormax.in");
ofstream g("xormax.out");
long long n,i,x,valm=-1,pozm;
f>>n;
for (i=1;i<=n;i++)
f>>v[i];
for (i=1;i<=n;i++)
{
x=m[i-1] ^ v[i];
if ( x > v[i] )
{
prec[i]=prec[i-1];
m[i]=x;
}
else
{
prec[i]=i;
m[i]=v[i];
}
if (valm<m[i])
valm=m[i],pozm=i;
}
g<<valm<<' '<<prec[pozm]<<' '<<pozm<<'\n';
f.close();
g.close();
return 0;
}
