Cod sursa(job #547913)

Utilizator RengelBotocan Bogdan Rengel Data 6 martie 2011 20:14:58
Problema Restante Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<cstdio>

int a[40005];
int n,x1,x2,y1,y2,i,j,s,save,poz;

void f();
int sum(int x);

int main(){
	
	freopen("piata.in","r",stdin);
	freopen("piata.out","w",stdout);
	
	scanf("%d%d%d%d%d",&n,&x1,&y1,&x2,&y2);
	
	f();
	
	poz=y1-x1+1;
	if(poz<0) poz+=n;
	if(poz>n) poz-=n;
	
	for(i=x1;i<=x2;i++){
		save=poz;
		for(j=y1;j<=y2;j++){
			s+=a[save];
			save++;
			if(save==n+1) save=1;
		}
		poz--;
		if(poz==0) poz=n;
	}
	
	printf("%d",s);
	
	return 0;
	
}

void f(){
	
	int i;
	for(i=1;i<=n;i++)
		a[i]=sum(i);
	
}

int sum(int x){
	
	int s=0;
	while(x){
		s+=x%10;
		x/=10;
	}
	return s;
	
}