Pagini recente » Borderou de evaluare (job #1970737) | Borderou de evaluare (job #2904019) | Borderou de evaluare (job #1069154) | Borderou de evaluare (job #663193) | Cod sursa (job #2649213)
#include<iostream>
using namespace std;
long long n,i,v[100001],nr[100001],val;
int procent(long long x,long long y)
{
if(x>=0)
return x%y;
long long mult=-x;
if(mult%y==0)
return 0;
return (mult/y)*y+y-mult;
}
int main()
{
cin>>n;
for(i=1;i<=n;i++)
{
cin>>v[i];
}
if(n==1)
{
cout<<"1 1\n"<<v[1]<<"\n";
cout<<"1 1\n"<<-v[1]<<"\n";
cout<<"1 1\n"<<-v[1]<<"\n";
return 0;
}
if(n==2)
{
cout<<"1 1\n"<<-v[1]<<"\n";
cout<<"2 2\n"<<-v[2]<<"\n";
cout<<"1 2\n"<<"0 0";
return 0;
}
long long k=n-1;
for(i=k;i%n!=0;i=(i+k)%n)
{
nr[i]=++val;
}
cout<<1<<" "<<k<<"\n";
for(i=1;i<=k;i++)
cout<<(-k)*nr[procent(v[i],n)]<<" ";
cout<<"\n";
cout<<n-k+1<<" "<<n<<"\n";
for(i=n-k+1;i<=n;i++)
if(i>k)
cout<<(-k)*nr[procent(v[i],n)]<<" ";
else cout<<"0 ";
cout<<"\n";
cout<<1<<" "<<n<<"\n";
for(i=1;i<=n;i++)
cout<<-(v[i]-k*nr[procent(v[i],n)])<<" ";
//cout<<endl;
//cout<<procent(-7,3);
}