CSES - Putka Open 2015 – 2/6 - Results
Submission details
Task:Kertotaulu
Sender:
Submission time:2015-08-16 16:53:58 +0300
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.05 s1details
#2ACCEPTED0.05 s1details
#30.06 s1details
#4ACCEPTED0.05 s1details
#50.06 s1details
#60.06 s2details
#70.07 s2details
#80.05 s2details
#90.05 s2details
#100.06 s2details
#110.06 s3details
#120.05 s3details
#130.05 s3details
#140.05 s3details
#150.06 s3details

Code

#include <bits/stdc++.h>

#define ll long long
#define ull unsigned long long

#define pii pair<int, int>
#define pll pair<long long, long long>

#define defmod 1000000007
using namespace std;

ll pot(ll x, int n) {
if (n == 0) return 1;
if (n%2 == 1) return (pot(x,n-1)*x)%defmod;
ll t = pot(x,n/2);
return (t*t)%defmod;
}
ll inv(ll x) {
return pot(x, defmod-2);
}
int main(){
	cin.sync_with_stdio(0);
	cin.tie(0);
	
	ll y1, x1, y2, x2;
	cin >> y1 >> x1 >> y2 >> x2;
	ll n = (x2-x1)+1;
	ll eka = ((n*(((y1*x1)%defmod+(y1*x2)%defmod)))%defmod)/2;
	//cout << eka << endl;
	y1++;
	
	if(y1 >= y2 && x1 >= x2){
		cout << eka << endl;
		return 0;
	}
	ll toka = ((n*(((y1*x1)%defmod+(y1*x2)%defmod)))%defmod)/2;
	ll d = toka-eka;
	//cout << toka << endl;
	ll n2 = y2-y1+2;
	ll re = (((n2)*(((eka)%defmod+(((n2-1)*d)%defmod+eka)%defmod)))%defmod)/2;
	cout << re << endl;
	return 0;
}

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:

input
435 460 792 681

correct output
816738894

user output
316738890

Test 4

Group: 1

Verdict: ACCEPTED

input
318 389 441 799

correct output
488457695

user output
488457695

Test 5

Group: 1

Verdict:

input
211 640 623 951

correct output
744563022

user output
244563018

Test 6

Group: 2

Verdict:

input
201976 387454 920309 673120

correct output
946933548

user output
446180142

Test 7

Group: 2

Verdict:

input
779381 684472 984138 828099

correct output
121907300

user output
103213299

Test 8

Group: 2

Verdict:

input
284954 437564 777701 638386

correct output
321734745

user output
321488371

Test 9

Group: 2

Verdict:

input
296035 308490 853604 668978

correct output
802693678

user output
81757384

Test 10

Group: 2

Verdict:

input
460731 148462 619190 626173

correct output
264761756

user output
264682526

Test 11

Group: 3

Verdict:

input
381626897 590403175 501559980 ...

correct output
258247883

user output
-301718662

Test 12

Group: 3

Verdict:

input
597399975 685346584 618318138 ...

correct output
390332938

user output
379873856

Test 13

Group: 3

Verdict:

input
247307039 323856912 812562646 ...

correct output
89821592

user output
307193791

Test 14

Group: 3

Verdict:

input
900181910 768404361 943052600 ...

correct output
242545884

user output
243880918

Test 15

Group: 3

Verdict:

input
815 528 999999994 999999992

correct output
103780099

user output
-396219491