Pagini recente » Cod sursa (job #1653503) | Cod sursa (job #1085165) | Cod sursa (job #2492617) | Cod sursa (job #1550174) | Cod sursa (job #1535005)
#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;
}