Cod sursa(job #2649213)

Utilizator etienAndrone Stefan etien Data 13 septembrie 2020 16:04:17
Problema DreptPal Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.15 kb
#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);

}