CSES - Putka Open 2015 – 2/6 - Results
Submission details
Task:Kertotaulu
Sender:
Submission time:2015-08-16 20:01:00 +0300
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.06 s1details
#20.06 s1details
#30.05 s1details
#40.06 s1details
#50.06 s1details
#60.05 s2details
#70.05 s2details
#80.06 s2details
#90.05 s2details
#100.05 s2details
#11--3details
#120.31 s3details
#13--3details
#140.65 s3details
#15--3details

Code

#include <iostream>
#include <algorithm>
#include <cmath>
#include <climits>
#include <cstdio>

using namespace std;

typedef signed long long int ll;
typedef unsigned long long int ull;

#define M (1000000007)
#define P (2)

int main() {

    ll y1, x1, y2, x2;
    cin >> y1 >> x1 >> y2 >> x2;
    ll result = 0;
    ll n = x2-x1+1;
    for (ll r = y1; r <= y2; ++r) {
        ll k = 0;
        if (n % 2 == 0) {
            k = (x2*r)%M;
            k = (k + r)%M;
            k = (k * (n/2))%M;
        } else {
            k = (((x2*r)+r)/2)%M;
            k = ((k + r))%M;
            k = (k * n)%M;
        }

        result = (result + k) % M;
    }

    cout << result << endl;

    return 0;
}

Test details

Test 1

Group: 1

Verdict:

input
242 232 976 976

correct output
417796293

user output
234981314

Test 2

Group: 1

Verdict:

input
12 645 476 899

correct output
335735446

user output
48467209

Test 3

Group: 1

Verdict:

input
435 460 792 681

correct output
816738894

user output
626657254

Test 4

Group: 1

Verdict:

input
318 389 441 799

correct output
488457695

user output
755675989

Test 5

Group: 1

Verdict:

input
211 640 623 951

correct output
744563022

user output
576884977

Test 6

Group: 2

Verdict:

input
201976 387454 920309 673120

correct output
946933548

user output
567451998

Test 7

Group: 2

Verdict:

input
779381 684472 984138 828099

correct output
121907300

user output
622774363

Test 8

Group: 2

Verdict:

input
284954 437564 777701 638386

correct output
321734745

user output
74988285

Test 9

Group: 2

Verdict:

input
296035 308490 853604 668978

correct output
802693678

user output
916393306

Test 10

Group: 2

Verdict:

input
460731 148462 619190 626173

correct output
264761756

user output
235975560

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
538960740

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
27363873

Test 15

Group: 3

Verdict:

input
815 528 999999994 999999992

correct output
103780099

user output
(empty)