Pagini recente » Cod sursa (job #356404) | Cod sursa (job #536327) | Cod sursa (job #915854) | Cod sursa (job #241682) | Cod sursa (job #1535202)
#include <cstdio>
#define in "reguli.in"
#define out "reguli.out"
#define NMAX 500007
#define LL long long
using namespace std;
int n, sol;
LL v[NMAX], phi[NMAX];
inline void solve()
{
int k = 0;
for(int i = 2; i<= n; ++i)
{
while(k && v[k+1] != v[i]) k = phi[k];
if(v[k+1] == v[i]) ++k;
phi[i] = k;
}
}
int main()
{
freopen(in, "r", stdin);
freopen(out, "w", stdout);
scanf("%d", &n);
for(int i = 1; i<= n; ++i) scanf("%lld", &v[i]);
for(int i = 2; i<= n; ++i) {v[i-1] -= v[i]; v[i-1]*=(-1);}
--n;
solve();
sol = n - phi[n];
printf("%d\n", sol);
for(int i = 1; i<= sol; ++i) printf("%lld\n", v[i]);
return 0;
}