CON - Vòng tròn số

Tác giả: hieult

Ngôn ngữ: C++

#include <stdio.h>
//#include <conio.h>
main()
{
long long n,b[100001],a[100001],tong=0;
scanf("%lld",&n);
for(long long i=1;i<=n;i++)
  {
  scanf("%lld",&b[i]);
  tong+=b[i];
  }
tong=tong/3;
if(n%3==0)
  {
  a[1]=1;
  a[2]=2;
  }
else if(n%3==1)
  {
  long long u=tong;
  long long v=tong;
  for(long long i=3;i<=n;i=i+3)
    u=u-b[i];
  for(long long i=4;i<=n;i=i+3)
    v=v-b[i];
  a[1]=u;
  a[2]=v;
  }
else
  {
  long long u=tong;
  long long v=tong;
  for(long long i=5;i<=n;i=i+3)
    u=u-b[i];    
  for(long long i=6;i<=n;i=i+3)
    v=v-b[i];
  a[1]=b[2]-u;
  a[2]=b[3]-v+b[1];
  }
for(long long i=3;i<=n;i++)
  a[i]=b[i-1]-a[i-1]-a[i-2];
for(long long i=1;i<=n;i++)
  printf("%lld ",a[i]);  
//getch();
}                                                                 

Download