Cod sursa(job #36875)

Utilizator mastermageSchneider Stefan mastermage Data 24 martie 2007 11:30:59
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <stdio.h>
#include <algorithm>
using namespace std;

#define maxN 2000100

int n,m,l,s, din[maxN];
long long res,x,y,z,v;


void inputFunc(){
	FILE*fi=fopen("toys.in","r");
	fscanf(fi,"%d %d %d %d %lld %lld %lld %lld",&n,&l,&m,&s,&x,&y,&z,&v);
	
	int d=s,t=1;
	for(int i=0;i<n;i++){
		if(d==0 && t)t=0;
		if(t)din[i]=d,m++; else din[i]=l-d+l;
		
		
		int d2=(x*d+y*(i+1))%(l-1)+1, t2=(z*d+v*(i+1))%2; d=d2,t=t2;
	}
	
	sort(din,din+n);
	fclose(fi);
}


void outputFunc(){
	FILE*fi=fopen("toys.out","w");
	fprintf(fi,"%lld",res);
	fclose(fi);
}

int main(){
	inputFunc();
	m--;
	long long l2=2*l;
	int le=m%n+1;
	res=(l2*(m/n))+din[le-1];
	
	outputFunc();
	return 0;
}