Educational Codeforces Round 90 (Rated for Div. 2)C

C - Pluses and Minuses

题解:这个题目暴力模拟的话肯定会超时啊。
找一下规律,以免放置他重复的进行某些算过的数字,看代码应该可以懂。
就只有一个if语句。

/*Keep on going Never give up*/
#pragma GCC optimize(3,"Ofast","inline")
#include <bits/stdc++.h>
const int maxn = 2e5+10;
const int MaxN = 0x3f3f3f3f;
const int MinN = 0xc0c0c00c;
typedef long long ll;
const int mod = 100000000;
using namespace std;
string s;
int main()
{
    int t;
    cin>>t;
    while(t--){
        cin>>s;
        ll ans=0,cnt=0,x=0,last=0;
        for(int i=0;i<s.size();i++){
            ans++;
            if(s[i]=='+') cnt++;
            else cnt--;
            if(cnt<0){
                cnt=0;
                ll t=ans;
                ans+=ans-last;
                last=t;
            }
        }
        cout<<ans<<endl;
    }
    return 0;
}
题解 文章被收录于专栏

主要写一些题目的题解

全部评论

相关推荐

高斯林的信徒:武大简历挂?我勒个骚岗
点赞 评论 收藏
分享
03-29 12:10
门头沟学院 C++
挣K存W养DOG:散漫消极者淘汰,一眼坑爹。实习几个月转正的时候说你加班太少,能力还行态度不够积极裁了,马上老实。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务