Pagini recente » Cod sursa (job #3191411) | Cod sursa (job #1909230) | Cod sursa (job #1104817) | Cod sursa (job #2277739) | Cod sursa (job #1932417)
#include <fstream>
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
long long n,sir[500000];
long long pi[500000];
void KMP()
{
int j=0,elemMax=n;
for(int i=1;i<n;i++)
{
while(j>0&&sir[i]!=sir[j])
j=pi[j-1];
if(sir[i]==sir[j])
j++;
pi[i]=j;
}
elemMax=elemMax-pi[n-1];
g<<elemMax<<"\n";
for(int i=0;i<elemMax;i++)
g<<sir[i]<<"\n";
}
int main()
{
f>>n;
long long first,nr;
f>>first;n--;
for(int i=0;i<n;i++)
{
f>>nr;
sir[i]=nr-first;
first=nr;
}
KMP();
f.close();
g.close();
}