電泡泡

## Problem F: Help Johnny

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 100   Solved: 42
[ Submit][ Status][ Web Board]

## Description

Poor Johnny is so busy this term. His tutor threw lots of hard problems to him and demanded him to
accomplish those problems in a month. What a wicked tutor! After cursing his tutor thousands of times,
Johnny realized that he must start his work immediately.
The very problem Johnny should solve firstly is about a strange machine called Warmouth. In the Warmouth
there are many pairs of balls. Each pair consists of a red ball and a blue ball and each ball is assigned a value.
We can represent a pair in the form of (R, B) in which R is the value of the red ball and B is of the blue one.
Warmouth has a generator to calculate the match value of two pairs. The match value of (R1, B1) and (R2,
B2) is R1*B2+R2*B1. Initially, Warmouth is empty. Pairs are sent into Warmouth in order. Once a new pair
comes, it will be taken into the generator with all the pairs already in Warmouth.
Johnny’s work is to tell his tutor the sum of all match values given the list of pairs in order. As the best
friend of Johnny, would you like to help him?

## Input

The first line of the input is T (no more than 10), which stands for the number of lists Johnny received.
Each list begins with “N“(without quotes). N is the number of pairs of this list and is no more than 100000.
The next line gives N pairs in chronological order. The 2i-th number is the value of the red ball of the i-th
pair and the (2i+1)-th number is the value of the blue ball of the i-th pair. The numbers are positive integers
and smaller than 100000.

## Output

Please output the result in a single line for each list.

2

3

1 3 2 2 3 1

2

4 5 6 7

## Sample Output

26

58

``````#include <stdio.h>
#include <iostream>
using namespace std;

int
main()
{
//freopen("help.in", "r", stdin);
//freopen("HELP.out", "w", stdout);
int n, tu, a[100010], b[100010];
long long int sum, sa, sb;
cin>>tu;
while(tu--){
sum=sa=sb=0;
cin>>n;
for(int i=0; i<n; i++){
cin>>a[i]>>b[i];
sa+=a[i];
sb+=b[i];
}
for(int i=0; i<n; i++){
sum+=a[i]*(sb-b[i])+b[i]*(sa-a[i]);
}
cout<<sum/2<<endl;
}
return 0;
}``````

### 電泡泡

Windows开发的几个下载地址

Microsoft Windows SDK for Windows 7 and .NET Framework 4 (ISO) The Windows SDK provides tools, compilers, headers, libraries, code samples, and a new help system that developers......

2014/10/30
0
0
Codeforces 626G Raffles(贪心+线段树)

2 using namespace std; 3 const int maxn = 2e5+6; 4 inline int read() 5 { 6 int x=0,f=1;char ch=getchar(); 7 while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} 8 while(ch>='0'&......

angel_kitty
2017/06/29
0
0
find命令之xargs

mengbo2006214
2017/09/21
0
0
【极客之作】快到极致的Android模拟器——Genymotion

RyanHoo
2013/07/02
0
44

ohnny Q在你的帮助下终于进入了城堡,现在出现在他面前的是一条恐怖的黑水河。河中有大量传说中的食人怪兽------法克鱿,同时还有一个N层正三角梅花桩阵,每个桩上都印有一个数字,如图所示是一个...

2012/05/27
622
11

XuePeng77

2
0
android 延长Toast的时长

4
0

Java开发中经常用到的日志框架有很多，Log4j、Log4j2、slf4j等等，Mybatis定义了一套统一的日志接口供上层使用，并为上述常用的日志框架提供了相应的适配器。有关适配器模式例子可以参考 设计...

13
0

em_aaron

3
0
Git cherry-pick 使用总结

9
0