Pagini recente » Cod sursa (job #454736) | Cod sursa (job #2799110) | Cod sursa (job #1288812) | Cod sursa (job #2972945) | Cod sursa (job #1304869)
#include <fstream>
using namespace std;
ifstream fin ("reguli.in");
ofstream fout ("reguli.out");
int N, k, V[500010], S[500010];
int main()
{
fin >> N;
for (int i = 1; i <= N; i++) fin >> V[i];
for (int i = 1; i < N; i++) V[i] = V[i+1] - V[i];
for (int i = 2; i < N; i++)
{
if (k && V[k+1] != V[i]) k = S[k];
if (V[k+1] == V[i]) k++;
S[i] = k;
}
for (int i = 1; i < N; i++)
{
if (S[i] && i % (i - S[i]) == 0)
{
k = i - S[i];
break;
}
}
fout << k << '\n';
for (int i = 1; i <= k; i++) fout << V[i] << '\n';
fout.close();
return 0;
}