Gym - 101810A ACM International Collegiate Programming Contest (2018)
bryce1010模板
http://codeforces.com/gym/101810/problem/A
大模拟,写崩了,代码借队友的。。。。。。
注意处理段与段的连接问题:
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
struct node{
long long l,r,val;
node(){}
node(long long ll,long long rr,long long vval)
{
l=ll;
r=rr;
val=vval;
}
}ar[maxn];
bool cmp(node a,node b)
{
return a.l<b.l;
}
int main(){
int t,m;
long long k;
scanf("%d",&t);
while(t--)
{
scanf("%d%lld",&m,&k);
int u,v,cost;
for(int i=0;i<m;i++)
{
scanf("%d%d%d",&u,&v,&cost);
ar[i]=node(u,v,cost);
}
sort(ar,ar+m,cmp);
long long sum=0,ans=0;
int pre=0;
for(int i=0;i<m;)
{
if(ar[i].r-ar[pre].l+1<=k)
{
sum+=(ar[i].r-ar[i].l+1)*ar[i].val;
ans=max(ans,sum);
i++;
}
else
{
if(ar[i].l-ar[pre].l>=k)
{
if(ar[i].r-ar[pre].r<=k)
{
ans=max(ans,sum+(ar[i].r-ar[i].l+1)*ar[i].val-(ar[i].r-ar[pre].l+1-k)*ar[pre].val);
sum+=(ar[i].r-ar[i].l+1)*ar[i].val;
i++;
}
else
{
sum-=(ar[pre].r-ar[pre].l+1)*ar[pre].val;
pre++;
}
}
else
{
ans=max(ans,sum+(k-ar[i].l+ar[pre].l)*ar[i].val);
if(ar[i].r-ar[pre].r<k)
{
sum+=(ar[i].r-ar[i].l+1)*ar[i].val;
ans=max(ans,sum-(ar[i].r-ar[pre].l+1-k)*ar[pre].val);
i++;
}
else
{
sum-=(ar[pre].r-ar[pre].l+1)*ar[pre].val;
pre++;
}
}
}
}
printf("%lld\n",ans);
}
return 0;
}
Gym - 101810A ACM International Collegiate Programming Contest (2018)的更多相关文章
- Gym - 101810H ACM International Collegiate Programming Contest (2018)
bryce1010模板 http://codeforces.com/gym/101810 #include <bits/stdc++.h> using namespace std; #de ...
- Gym - 101810F ACM International Collegiate Programming Contest (2018)
bryce1010模板 http://codeforces.com/gym/101810 #include<bits/stdc++.h> using namespace std; #def ...
- Gym - 101810E ACM International Collegiate Programming Contest (2018)
bryce1010模板 http://codeforces.com/gym/101810 #include<bits/stdc++.h> using namespace std; #def ...
- Gym - 101810D ACM International Collegiate Programming Contest (2018)
bryce1010模板 http://codeforces.com/gym/101810 #include <bits/stdc++.h> using namespace std; #de ...
- Gym - 101810C ACM International Collegiate Programming Contest (2018)
bryce1010模板 http://codeforces.com/gym/101810 #include <bits/stdc++.h> using namespace std; #de ...
- Gym - 101810B ACM International Collegiate Programming Contest (2018)
bryce1010模板 http://codeforces.com/gym/101810 #include <bits/stdc++.h> using namespace std; #de ...
- ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2018) Syria, Lattakia, Tishreen University, April, 30, 2018
ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2018) Syr ...
- ACM International Collegiate Programming Contest World Finals 2014
ACM International Collegiate Programming Contest World Finals 2014 A - Baggage 题目描述:有\(2n\)个字符摆在编号为\ ...
- ACM International Collegiate Programming Contest World Finals 2013
ACM International Collegiate Programming Contest World Finals 2013 A - Self-Assembly 题目描述:给出\(n\)个正方 ...
随机推荐
- sendevent是使用
按下: sendevent /dev/input/event4 1 254 1 sendevent /dev/input/event4 0 0 0 松开: sendevent /dev/input/e ...
- word使用技巧
word文档左侧显示目录 word2007 选择word的视图,然后选择文档结构图 word中插入当前文档名称或者文档编辑时间 https://stackoverflow.com/questions ...
- Eclipse jar打包详解
通过Eclipse下的演示工程,介绍如何打包这样的项目:要导出的类里边用到了别的jar包. 方法/步骤 1. Eclipse下的演示工程结构如下图所示,其中Task.java是当前工程运行的M ...
- OpenGL之坐标转换(好文-清晰版)
http://blog.csdn.net/zhongjling/article/details/8488844OpenGL之坐标转换(好文-清晰版)
- 纯属娱乐,对入门Android有一定的帮助
package android.m9; import android.app.Activity; import android.os.Bundle; import android.view.Men ...
- java基础汇总
1.关于Http和Hibernatet里面Session的区别HttpSession HttpSession:是一个抽象接口,J2EE的Web程序在运行的时候,会给每一个新的访问者建立一个H ...
- Understand JavaScript Callback Functions and Use Them
In JavaScript, functions are first-class objects; that is, functions are of the type Object and they ...
- Python: PS 滤镜--表面模糊
本文用 Python 实现 PS 滤镜中的表面模糊,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/528 ...
- 算法实现c语言--03
实现 mystrcpy(), mystrcmp(), mystrcat(), mystrlen() ; #include<stdio.h> #include<stdlib.h> ...
- DAG上的DP
引例:NYOJ16 矩形嵌套 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可 ...