题目链接
当x<=l时 区间[l,r]到x的代价等于区间[l,r]到1的代价,减去重量[l,r]从1到x的代价
当x>=r时 区间[l,r]到x的代价等于区间[l,r]到n的代价,减去重量[l,r]从n到x的代价
其他 区间[l,r]到x的代价分成俩份[l,x-1]到x和[x+1,r]到x
用cost_l cost_r来维护到1和到n的花费,然后减去差的距离*[l,r]的数量就OK了。
/// .-~~~~~~~~~-._ _.-~~~~~~~~~-.
/// __.' ~. .~ `.__
/// .'// \./ \\`.
/// .'// | \\`.
/// .'// .-~"""""""~~~~-._ | _,-~~~~"""""""~-. \\`.
/// .'//.-" `-. | .-' "-.\\`.
/// .'//______.============-.. \ | / ..-============.______\\`.
/// .'______________________________\|/______________________________`.
//#pragma GCC optimize("Ofast")
#pragma comment(linker, "/STACK:102400000,102400000")
//#pragma GCC target(sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx)
#include
#include
#include
#include