Cod sursa(job #2477933)

Utilizator KernelovicNegrean Victor Kernelovic Data 21 octombrie 2019 12:48:17
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("piata.in");
ofstream g ("piata.out");
long long n,i,j,x,sp[400001],x1,x2,y1,y2,prim,ultim,s;
int main()
{
    f >> n;
    f >> x1 >> y1 >> x2 >> y2;
    for(i=1; i<=n; i++) {
        j=i;
        x=0;
        while(j>0) {
            x=x+(j%10);
            j/=10;
        }
        sp[i]=sp[i-1]+x;
    }
    prim=y1-x1+1;
    ultim=y2-x1+1;
    if(prim<=0) prim=n+prim;
    if(ultim<=0) ultim=n+ultim;
    for(i=x1;i<=x2;i++) {
        if(ultim>=prim) s=s+(sp[ultim]-sp[prim-1]);
        else s=s+(sp[n]-sp[prim-1])+sp[ultim];
        prim--;
        ultim--;
        if(prim==0) prim=n;
        if(ultim==0) ultim=n;
    }
    g << s;
    return 0;
}