【链接】 我是链接,点我呀:)

【题意】

【题解】

设每个人做第一题、第二题的分数分别为x,y
我们先假设没有仇视关系。
即每两个人都能进行一次训练。
那么
对于第i个人。
考虑第j个人对它的贡献
如果xi+yjyi+xj的话。
情况类似。

最后对于有仇敌关系的(i,j)的话。

第i个人和第j个人的贡献都减去min(xi+yj,yi+xj)即可。

【代码】

#include <bits/stdc++.h>
#define ll long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
using namespace std; const int N = 3e5; struct abc{
int x,y,id;
bool operator < (const abc &b) {
return (x-y)<(b.x-b.y);
}
}; int n,m;
ll ans[N+10];
ll prex[N+10],prey[N+10];
abc a[N+10],b[N+10]; int main(){
#ifdef ccy
freopen("rush.txt","r",stdin);
#endif
scanf("%d%d",&n,&m);
rep1(i,1,n) {
scanf("%d%d",&a[i].x,&a[i].y);
a[i].id = i;
}
rep1(i,1,n) b[i] = a[i];
sort(a+1,a+1+n); rep1(i,1,n){
prex[i]+=prex[i-1];
prey[i]+=prey[i-1];
prex[i]+=a[i].x;
prey[i]+=a[i].y;
}
//xi+yj<yi+xj
//xi-yi<=xj-yj //xi+yj>yi+xj
//xi-yi>xj-yj
rep1(i,1,n){
ans[a[i].id] += 1LL*(i-1)*a[i].y+prex[i-1]-prex[0];
ans[a[i].id] += 1LL*(n-i)*a[i].x+prey[n]-prey[i];
}
rep1(i,1,m){
int x,y;
scanf("%d%d",&x,&y);
ans[x]-=min(b[x].x+b[y].y,b[x].y+b[y].x);
ans[y]-=min(b[x].x+b[y].y,b[x].y+b[y].x);
}
rep1(i,1,n){
printf("%lld ",ans[i]);
}
return 0;
}

【Codeforces Round #519 by Botan Investments E】Train Hard, Win Easy的更多相关文章

  1. 【Codeforces Round #519 by Botan Investments A】 Elections

    [链接] 我是链接,点我呀:) [题意] [题解] 枚举k 那么另外一个人的得票就是nk-sum(ai) 找到最小的满足nk-sum(ai)>sum(ai)的k就ok了 [代码] #includ ...

  2. 【 Codeforces Round #519 by Botan Investments B】Lost Array

    [链接] 我是链接,点我呀:) [题意] [题解] 枚举k 不难根据a得到x[0..k-1] 然后再根据a[k+1..n]来验证一下得到的x是否正确就好. [代码] #include <bits ...

  3. 【Codeforces Round #519 by Botan Investments C】 Smallest Word

    [链接] 我是链接,点我呀:) [题意] [题解] 模拟了一两下.. 然后发现. 对于每一个前缀. 组成的新的最小字典序的字符串 要么是s[i]+reverse(前i-1个字符经过操作形成的最大字典序 ...

  4. 【Codeforces Round #519 by Botan Investments D】Mysterious Crime

    [链接] 我是链接,点我呀:) [题意] 相当于问你这m个数组的任意长度公共子串的个数 [题解] 枚举第1个数组以i为起点的子串. 假设i..j是以i开头的子串能匹配的最长的长度. (这个j可以给2. ...

  5. Codeforces Round #519 by Botan Investments

    Codeforces Round #519 by Botan Investments #include<bits/stdc++.h> #include<iostream> #i ...

  6. Codeforces Round #519 by Botan Investments(前五题题解)

    开个新号打打codeforces(以前那号玩废了),结果就遇到了这么难一套.touristD题用了map,被卡掉了(其实是对cf的评测机过分自信),G题没过, 700多行代码,码力惊人.关键是这次to ...

  7. Codeforces Round #519 by Botan Investments F. Make It One

    https://codeforces.com/contest/1043/problem/F 题意 给你n个数,求一个最小集合,这个集合里面数的最大公因数等于1 1<=n<=3e5 1< ...

  8. Codeforces Round #519 by Botan Investments翻车记

    A:枚举答案即可.注意答案最大可达201,因为这个wa了一发瞬间爆炸. #include<iostream> #include<cstdio> #include<cmat ...

  9. 【Codeforces Round #519】

    A:https://www.cnblogs.com/myx12345/p/9872082.html B:https://www.cnblogs.com/myx12345/p/9872124.html ...

随机推荐

  1. 【Git笔记】怎样在同主机同账户下实现多个gitlab帐号管理各自的remote repo

    我们可能会遇到以下的场景: 1)多人共用同一台Linux开发机,该开发机仅仅有一个共用的work帐号,非常多人都用这个帐号登录主机进行日常开发. 2)该work帐号下统一安装了gitclient供多人 ...

  2. Linux Framebuffer 驱动框架之一概念介绍及LCD硬件原理【转】

    本文转载自:http://blog.csdn.net/liuxd3000/article/details/17464779 一.基本概念 帧缓冲(Framebuffer)是Linux系统为显示设备提供 ...

  3. Android中关闭DatePicker、TimePicker、NumberPicker的可编辑模式

    DatePicker.TimePicker.NumberPicker这三个控件在使用的过程中,用户点击数字会弹出键盘,有时候会造成布局被挤压不好看,也有其他的需求. 我看了网上很多文章的解决办法都无效 ...

  4. CSS--浏览器CSS Hack 收集

    所谓的Hack就是只有特定浏览器才能识别这段hack代码.Hack 不是什么好东西,除非没有办法,我们尽量还是不要用着玩意. 下面是各个浏览器的CSS Hack 列表. Firefox 浏览器 @-m ...

  5. B. Sereja and Suffixes(cf)

    http://codeforces.com/problemset/problem/368/B B. Sereja and Suffixes time limit per test 1 second m ...

  6. css 浮动问题详解

    浮动(float),一个我们即爱又恨的属性.爱,因为通过浮动,我们能很方便地布局: 恨,浮动之后遗留下来太多的问题需要解决,特别是IE6-7(以下无特殊说明均指 windows 平台的 IE浏览器). ...

  7. Android 微博sdk接入授权指南

    1:首先在微博官方注册账号,官方地址是:http://open.weibo.com/然后创建一个新应用.     2:当然我们得现在自己电脑上创建一个应用,例如包名叫com.winorout.weib ...

  8. JavaScript中变量的类型

    变量的类型是指变量的值所属的数据类型,可以是数值型.字符串型和布尔型等,因为JavaScript是一种弱类型的程序语言,所以可以把任意类型的数据赋值给变量. 下面是一个关于变量类型的例子.在这个例子中 ...

  9. 错误:android.view.InflateException: Binary XML file line #167: Binary XML file line #167: Error inflating class <unknown>

    1:错误日志 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.8.activity.RecordActiv ...

  10. 用SQL Server验证用户名和密码

    用SQL Server验证用户名和密码,从页面输入的用户名和密码与数据库的用户名和密码进行匹配,正确则登入,错误则提醒. <form action="index.jsp" m ...