Pagini recente » Cod sursa (job #190537) | Cod sursa (job #1588261) | Cod sursa (job #9709) | Cod sursa (job #3124231) | Cod sursa (job #1993360)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("reguli.in");
ofstream out("reguli.out");
int a[500001], n;
//array- valori de baza care dau relatia intre x-urile citite
void rezolvare(){
int perioada = 1;
int valSubs = 0;
int perSol;
for(int i = 1; i < n; i++){
if(a[i] == a[i - perioada] && (a[i+1] == a[i + 1 - perioada] || i == n- 1 || valSubs == perioada - 1)){
valSubs++;
}
else{
valSubs = 0;
perioada = i;
}
if(valSubs == perioada){
valSubs = 0;
perSol = perioada;
}
}
out << perioada;
}
void citire(){
int xAnter, x;
in >> n;
in >> xAnter;
for(int i = 1; i < n; i++){
in >> x;
a[i] = x - xAnter;
xAnter = x;
}
}
int main(){
citire();
rezolvare();
return 0;
}