2017 ECL-FINAL J.Straight Master

2023-03-15,,

题目链接:http://codeforces.com/gym/101775/problem/J

思路:序列差分一下,然后用得到的查分序列乱搞就可以了

注意差分序列第一项等于a[i],之后n-1项为cha[i]=a[i]-a[i-1],第n+1项为0-a[n]

 #include<bits/stdc++.h>
using namespace std; typedef long long ll;
const int mod=1e9+;
const int maxn=2e5+;
const int inf=0x3f3f3f3f;
const double eps=1e-;
const double pi=acos(-1.0);
#define mem(s,v) memset(s,v,sizeof(s))
#define pdd pair<double,double>
#define pii pair<int,int> int t,n;
int a[maxn],cha[maxn]; int main(){
scanf("%d",&t);
for(int k=;k<=t;++k){
scanf("%d",&n);
for(int i=;i<=n;++i){
scanf("%d",&a[i]);
if(i==) cha[i]=a[i];
else cha[i]=a[i]-a[i-];
}
cha[n+]=-a[n];
int sum=;
int flag=;
if(cha[]<||cha[]<) flag=;
for(int i=;i<=n+;++i){
// cout<<cha[i]<<" ";
if(cha[i]>=) sum+=cha[i];
int temp=i+;
if(temp>n+) break;
if(cha[temp]<) sum+=cha[temp];
if(sum<) break;
}
// cout<<endl;
if(sum) flag=;
printf("Case #%d: ",k);
if(flag) printf("Yes\n");
else printf("No\n");
}
return ;
}

2017 ECL-FINAL J.Straight Master的相关教程结束。

《2017 ECL-FINAL J.Straight Master.doc》

下载本文的Word格式文档,以方便收藏与打印。