CF Round422 Div2 PC(水题)
2017-07-10 09:45
162 查看
这么水的题居然看了题解还wa了四次简直是丢脸
思路倒是很简单的,就是我把每个区间用l和r分别保存,保存到
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#define maxn 201000
#define ll long long
using namespace std;
const long long inf=1e18;
vector<pair<ll,ll> >l[maxn],r[maxn];
ll c[maxn];
int main()
{
int n,x;
ll ans;
while(~scanf("%d %d",&n,&x))
{
ans=inf;
for (int k=1;k<=n;k++)
{
ll lll,rr,cc;
scanf("%I64d %I64d %I64d",&lll,&rr,&cc);
l[lll].push_back(make_pair(rr-lll+1,cc));
r[rr].push_back(make_pair(rr-lll+1,cc));
}
for (int k=0;k<maxn;k++)
c[k]=inf;
//cout<<11111<<endl;
for (int i=1;i<=200000;i++)
{
for (int j=0;j<l[i].size();j++)
{
int val=(x-l[i][j].first);
if (val<0) continue;
if (c[val]!=inf) ans=min(c[val]+l[i][j].second,ans);
}
//cout<<i<<endl;
for (int j=0;j<r[i].size();j++)
{
c[r[i][j].first]=min(c[r[i][j].first],r[i][j].second);
}
}
if (ans!=inf)
printf("%I64d\n",ans);
else printf("-1\n");
}
return 0;
}
思路倒是很简单的,就是我把每个区间用l和r分别保存,保存到
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#define maxn 201000
#define ll long long
using namespace std;
const long long inf=1e18;
vector<pair<ll,ll> >l[maxn],r[maxn];
ll c[maxn];
int main()
{
int n,x;
ll ans;
while(~scanf("%d %d",&n,&x))
{
ans=inf;
for (int k=1;k<=n;k++)
{
ll lll,rr,cc;
scanf("%I64d %I64d %I64d",&lll,&rr,&cc);
l[lll].push_back(make_pair(rr-lll+1,cc));
r[rr].push_back(make_pair(rr-lll+1,cc));
}
for (int k=0;k<maxn;k++)
c[k]=inf;
//cout<<11111<<endl;
for (int i=1;i<=200000;i++)
{
for (int j=0;j<l[i].size();j++)
{
int val=(x-l[i][j].first);
if (val<0) continue;
if (c[val]!=inf) ans=min(c[val]+l[i][j].second,ans);
}
//cout<<i<<endl;
for (int j=0;j<r[i].size();j++)
{
c[r[i][j].first]=min(c[r[i][j].first],r[i][j].second);
}
}
if (ans!=inf)
printf("%I64d\n",ans);
else printf("-1\n");
}
return 0;
}
相关文章推荐
- 【Codeforces Round 375 (Div 2) A】【水题】The New Year Meeting Friends
- Codeforces Round #356 (Div. 2) B. Bear and Finding Criminal 水题
- Codeforces Round #357 (Div. 2) A. A Good Contest 水题
- 【Codeforces Round 274 (Div 2)A】【暴力 水题】Expression 三个数值运算使得结果最大
- Codeforces Round #360 (Div. 2) B Lovely Palindromes(水题)
- Codeforces Round #310 (Div. 1) A. Case of Matryoshkas 水题
- Codeforces Round #311 (Div. 2)B. Pasha and Tea 水题
- Codeforces Round #378 (Div. 2) A. Grasshopper And the String(水题求跳跃距离)
- Codeforces Round #363 (Div. 2) B. One Bomb (水题)
- Codeforces Round #283 (Div. 2) A. Minimum Difficulty 暴力水题
- codeforces水题100道 第二十一题 Codeforces Beta Round #65 (Div. 2) A. Way Too Long Words (strings)
- Codeforces Beta Round #92 (Div. 2) / 124A The number of positions 【简单模拟】【水题】
- Codeforces Round #340 (Div. 2) B. Chocolate 水题
- 【Codeforces Round 365 (Div 2)A】【水题】Mishka and Game
- Codeforces Round #384 (Div. 2) A. Vladik and flights【思维】水题
- 【IndiaHacks 2016 - Online Edition (Div 1 + Div 2) ErrichtoA】【水题】Bear and Three Balls 是否有数值相差1的三个数
- Codeforces #260 (Div. 2) B. Fedya and Maths(数学:水题)
- Codeforces Round #334 (Div. 2) A. Uncowed Forces (水题)
- Codeforces Round #362 (Div. 2) A. Pineapple Incident(水题)
- Codeforces Round #324 (Div. 2) A. Olesya and Rodion 水题