Codeforces Round #493 (Div. 2)

时间:2020-12-11 21:59:50

C - Convert to Ones

给你一个01串 x是反转任意子串的代价 y是将子串全部取相反的代价 问全部变成1的最小代价

两种可能 一种把1全部放到一边 然后把剩下的0变成1  要么把所有的 0 直接变成1

#include<bits/stdc++.h>
using namespace std;
#define LL long long
int main(){
  LL  n,x,y;
  string a;
  cin>>n>>x>>y>>a;
  ;
  LL  s=,s1=;
  ;j<a.size();j++){
     '&&fa) continue;
     ){
        s++;
        fa=;
     };
  }
  LL  l=a.size();
  LL ans=;
  ]==]=='){
      s1=s+;
      ans=x*s;
  }]==]==]==]=='){
      s1=s;
      ans=x*(max(1LL*,s-));
  }]==]=='){
     s1=max(1LL*,s-);
     ans=x*(max(1LL*,s-));
  }
  ans+=y;
  ans=min(ans,y*s1);
  cout<<ans<<endl;
}

D - Roman Digits

打表? 问 n个字符 能组成几个数

#include<bits/stdc++.h>
using namespace std;
#define LL long long
]={,,,,,,,,,,,};
int main() {
    LL n;
    scanf("%lld",&n);
    ) printf("%d\n",ans[n]);
    +(n-)*);
    ;
}