‹ 上一题 下一题 ›

g5-08291. 稀疏点积 未做

1000 ms 256 MB 测试点 10 通过率 100% GESP-55级·STLmap

题目描述

两个稀疏向量:大部分分量是 ,只记下非零项。第一个向量有 个非零项,第二个有 个;每个非零项给「坐标 值」,同一向量内坐标互不相同。求两个向量的点积:所有同坐标非零项的「值乘值」之和;没有同坐标则点积为 。

思路:把一个向量的非零项装进 map<long long, long long>,再遍历另一个向量的每个非零项,用 find 查同坐标——找到就「值乘值」累加(谁装 map、谁被遍历都行)。

输入格式

第一行一个整数 ()。

接下来 行,每行一个坐标 和一个值 (,,)。

然后一行一个整数 ()。

接下来 行,格式同上。

输出格式

一行一个整数:点积。数据保证点积的绝对值在 long long 表示范围内。

样例

输入:

3
1 2
5 3
9 -1
4
3 4
5 6
9 10
12 7

输出:

8

只有坐标 与 同在两个向量里:;坐标 的 在对面没有同伴,不参与。

数据范围

,, 且 。提示:乘的是值(second)——把坐标当值乘起来,数字看着也有模有样,答案完全是另一回事。

输入
输出

            
答案