C. Alternating Subsequence1200 / 贪心 压缩
Posted 幽殇默
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C. Alternating Subsequence1200 / 贪心 压缩相关的知识,希望对你有一定的参考价值。
https://codeforces.com/problemset/problem/1343/C
就是压缩,将一连串的负数保存一个最大的,将一连串的正数存一个最大的。
#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
const int N=1e5*2+10;
LL a[N],t,n;
int main(void)
{
cin>>t;
while(t--)
{
cin>>n;
for(int i=0;i<n;i++) cin>>a[i];
vector<int>A;
LL temp=a[0];
for(int i=0;i<n;i++)
{
temp=max(temp,a[i]);
if( (i+1==n) ||(a[i]*a[i+1]<0))
{
A.push_back(temp);
temp=a[i+1];
}
}
LL sum=0;
for(int i=0;i<A.size();i++) sum+=A[i];
cout<<sum<<endl;
}
return 0;
}
以上是关于C. Alternating Subsequence1200 / 贪心 压缩的主要内容,如果未能解决你的问题,请参考以下文章
693. Binary Number with Alternating Bits
693. Binary Number with Alternating Bits
693. Binary Number with Alternating Bits
CodeForces - 344D Alternating Current (模拟题)