CSES - Putka Open 2015 – 2/6 - Results
Submission details
Task:Kertotaulu
Sender:
Submission time:2015-08-15 19:39:17 +0300
Language:Java
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED26
#2ACCEPTED23
#3ACCEPTED51
Test results
testverdicttimegroup
#1ACCEPTED0.20 s1details
#2ACCEPTED0.19 s1details
#3ACCEPTED0.18 s1details
#4ACCEPTED0.20 s1details
#5ACCEPTED0.19 s1details
#6ACCEPTED0.20 s2details
#7ACCEPTED0.19 s2details
#8ACCEPTED0.20 s2details
#9ACCEPTED0.20 s2details
#10ACCEPTED0.18 s2details
#11ACCEPTED0.19 s3details
#12ACCEPTED0.19 s3details
#13ACCEPTED0.19 s3details
#14ACCEPTED0.19 s3details
#15ACCEPTED0.18 s3details

Code

import java.util.Scanner;


public class Kertotaulu {
	public static void main(String[] args) {
		final int modulo = 1000000007;

		Scanner input = new Scanner(System.in);

		final int y1 = input.nextInt();
		final int x1 = input.nextInt();
		final int y2 = input.nextInt();
		final int x2 = input.nextInt();
		
		boolean korkeusPariton, leveysPariton;
		long korkeus, leveys, leveysSumma, korkeusSumma;

		
		leveys = x2-x1;
		leveysPariton = (leveys%2==0);
		leveysSumma = ((leveys)/2+((leveysPariton)?0:1)) * (x1 + x2) + ((leveysPariton)?((x1+x2)/2):0);
		
		korkeus = y2-y1;
		korkeusPariton = (korkeus%2==0);
		korkeusSumma = ((korkeus)/2+((korkeusPariton)?0:1)) * (y1 + y2) + ((korkeusPariton)?((y1+y2)/2):0);
		
		System.out.println(((leveysSumma%modulo) * (korkeusSumma%modulo))%modulo);

	}
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
242 232 976 976

correct output
417796293

user output
417796293

Test 2

Group: 1

Verdict: ACCEPTED

input
12 645 476 899

correct output
335735446

user output
335735446

Test 3

Group: 1

Verdict: ACCEPTED

input
435 460 792 681

correct output
816738894

user output
816738894

Test 4

Group: 1

Verdict: ACCEPTED

input
318 389 441 799

correct output
488457695

user output
488457695

Test 5

Group: 1

Verdict: ACCEPTED

input
211 640 623 951

correct output
744563022

user output
744563022

Test 6

Group: 2

Verdict: ACCEPTED

input
201976 387454 920309 673120

correct output
946933548

user output
946933548

Test 7

Group: 2

Verdict: ACCEPTED

input
779381 684472 984138 828099

correct output
121907300

user output
121907300

Test 8

Group: 2

Verdict: ACCEPTED

input
284954 437564 777701 638386

correct output
321734745

user output
321734745

Test 9

Group: 2

Verdict: ACCEPTED

input
296035 308490 853604 668978

correct output
802693678

user output
802693678

Test 10

Group: 2

Verdict: ACCEPTED

input
460731 148462 619190 626173

correct output
264761756

user output
264761756

Test 11

Group: 3

Verdict: ACCEPTED

input
381626897 590403175 501559980 ...

correct output
258247883

user output
258247883

Test 12

Group: 3

Verdict: ACCEPTED

input
597399975 685346584 618318138 ...

correct output
390332938

user output
390332938

Test 13

Group: 3

Verdict: ACCEPTED

input
247307039 323856912 812562646 ...

correct output
89821592

user output
89821592

Test 14

Group: 3

Verdict: ACCEPTED

input
900181910 768404361 943052600 ...

correct output
242545884

user output
242545884

Test 15

Group: 3

Verdict: ACCEPTED

input
815 528 999999994 999999992

correct output
103780099

user output
103780099