CSES - Putka Open 2015 – 2/6 - Results
Submission details
Task:Kertotaulu
Sender:
Submission time:2015-08-16 23:27:46 +0300
Language:Java
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.19 s1details
#20.21 s1details
#30.20 s1details
#40.19 s1details
#50.18 s1details
#60.23 s2details
#70.26 s2details
#80.22 s2details
#90.22 s2details
#100.23 s2details
#11--3details
#12--3details
#13--3details
#14--3details
#15--3details

Code

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        long M = 1000000007L;
        Scanner lukija = new Scanner(System.in);

        long vasenY = lukija.nextInt();
        long vasenX = lukija.nextInt();
        long oikeaY = lukija.nextInt();
        long oikeaX = lukija.nextInt();

        long ekaRivi = (((oikeaX % M) * ((oikeaX + 1) % M)) / 2) % M;
        long kaikkiSarakkeet = ekaRivi;
        for (int i = 2; i <= oikeaY; i++) {
            kaikkiSarakkeet = (kaikkiSarakkeet + ((ekaRivi * i) % M)) % M;
        }

        long alkuRivit = ekaRivi;
        for (int i = 2; i <= vasenY - 1; i++) {
            alkuRivit = (alkuRivit + ((ekaRivi * i) % M)) % M;
        }

        long ekaSarake = (((oikeaY % M) * ((oikeaY + 1) % M)) / 2) % M;
        long alkuSarakkeet = ekaSarake;
        for (int i = 2; i <= vasenX - 1; i++) {
            alkuSarakkeet = (alkuSarakkeet + ((ekaSarake * i) % M)) % M;
        }
        long apuSumma = (alkuRivit + alkuSarakkeet) % M;
        long tulos = (kaikkiSarakkeet - apuSumma + 1) % M;
        
        System.out.println(tulos);
    }
}

Test details

Test 1

Group: 1

Verdict:

input
242 232 976 976

correct output
417796293

user output
-363601862

Test 2

Group: 1

Verdict:

input
12 645 476 899

correct output
335735446

user output
322027907

Test 3

Group: 1

Verdict:

input
435 460 792 681

correct output
816738894

user output
851458815

Test 4

Group: 1

Verdict:

input
318 389 441 799

correct output
488457695

user output
-315255081

Test 5

Group: 1

Verdict:

input
211 640 623 951

correct output
744563022

user output
214308651

Test 6

Group: 2

Verdict:

input
201976 387454 920309 673120

correct output
946933548

user output
-932203086

Test 7

Group: 2

Verdict:

input
779381 684472 984138 828099

correct output
121907300

user output
176255744

Test 8

Group: 2

Verdict:

input
284954 437564 777701 638386

correct output
321734745

user output
-699535217

Test 9

Group: 2

Verdict:

input
296035 308490 853604 668978

correct output
802693678

user output
-316079859

Test 10

Group: 2

Verdict:

input
460731 148462 619190 626173

correct output
264761756

user output
-400125363

Test 11

Group: 3

Verdict:

input
381626897 590403175 501559980 ...

correct output
258247883

user output
(empty)

Test 12

Group: 3

Verdict:

input
597399975 685346584 618318138 ...

correct output
390332938

user output
(empty)

Test 13

Group: 3

Verdict:

input
247307039 323856912 812562646 ...

correct output
89821592

user output
(empty)

Test 14

Group: 3

Verdict:

input
900181910 768404361 943052600 ...

correct output
242545884

user output
(empty)

Test 15

Group: 3

Verdict:

input
815 528 999999994 999999992

correct output
103780099

user output
(empty)