Submission #2090989


Source Code Expand

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

typedef long long ll;

ll MOD = 1e9 + 7;

int n;
int m;

ll x[100010],y[100010];

vector<ll> h,w;

int main()
{
	cin >> n >> m;

	for(int i = 0;i < n;i++)
	{
		cin >> x[i];
	}
	for(int i = 0;i < m;i++)
	{
		cin >> y[i];
	}

	w.push_back(0);
	h.push_back(0);

	for(int i = 1;i < n;i++)
	{
		w.push_back(x[i] - x[i - 1]);
	}
	for(int i = 1;i < m;i++)
	{
		h.push_back(y[i] - y[i - 1]);
	}

	vector<ll> wdp(n + 2,0);
	vector<ll> use(n + 2,0);

	for(int i = 1;i < w.size();i++)
	{
		use[i] = (use[i - 1] + i * w[i]) % MOD;
		wdp[i] = (wdp[i - 1] + use[i]) % MOD;
	}

	vector<ll> hdp(m + 2,0);
	use.resize(m + 2,0);

	for(int i = 1;i < h.size();i++)
	{
		use[i] = (use[i - 1] + i * h[i]) % MOD;
		hdp[i] = (hdp[i - 1] + use[i]) % MOD;
	}

	cout << (wdp[w.size() - 1] * hdp[h.size() - 1]) % MOD << endl;
	return 0;
}

Submission Info

Submission Time
Task D - ###
User niuez
Language C++14 (GCC 5.4.1)
Score 500
Code Size 954 Byte
Status AC
Exec Time 95 ms
Memory 6644 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 2
AC × 17
Set Name Test Cases
Sample 0_000.txt, 0_001.txt
All 0_000.txt, 0_001.txt, max.txt, min.txt, mod.txt, n2.txt, rndA.txt, rndB.txt, rndC.txt, rndD.txt, rndE.txt, rndF.txt, rndG.txt, rndH.txt, rndI.txt, rndJ.txt, var.txt
Case Name Status Exec Time Memory
0_000.txt AC 1 ms 256 KB
0_001.txt AC 1 ms 256 KB
max.txt AC 95 ms 5876 KB
min.txt AC 1 ms 256 KB
mod.txt AC 46 ms 3444 KB
n2.txt AC 46 ms 3444 KB
rndA.txt AC 90 ms 5876 KB
rndB.txt AC 90 ms 5876 KB
rndC.txt AC 90 ms 6644 KB
rndD.txt AC 91 ms 6644 KB
rndE.txt AC 91 ms 6644 KB
rndF.txt AC 91 ms 5876 KB
rndG.txt AC 91 ms 6644 KB
rndH.txt AC 91 ms 6644 KB
rndI.txt AC 91 ms 6644 KB
rndJ.txt AC 91 ms 6644 KB
var.txt AC 89 ms 5876 KB