1550B - Maximum Cost Deletion - CodeForces Solution


greedy math *1000

Please click on ads to support us..

Python Code:

I=input
exec(int(I())*"n,a,b=map(int,I().split());s=x,*_=I();print(a*n+b*(n,s.count(x+'01'[x<'1'])+1)[b<0]);")

C++ Code:

/*ahmedkhaled*/
#include<iostream>
#include<string>
#include<iomanip>
#include <algorithm>
#include <math.h>
#include <vector>
#include <stack>
#include <queue>
#include<set>
#include <array>
#define ll long long
#define flash ios::sync_with_stdio(false), cout.tie(NULL), cin.tie(NULL);
using namespace std;
/*void fun(int &a,int &b){
    ll mn=min(a,b);
    a-=mn;
    b-=mn;
}*/
void go(){
    int n,a,b;
    cin>>n>>a>>b;
    string s;cin>>s;
    if(b>=0){
        cout<<n*(a+b)<<'\n';
    }else {
        int sum=1;
        for(int i=0;i+1<n;i++){
          if((s[i]!=s[i+1]))
                ++sum;

        }
    cout<<a*n+b*(sum/2+1)<<'\n';
    }
}



int main() {
   int t;cin>>t;
   while(t--){
       go();
   }
}
  			  		     		  		  			   	


Comments

Submit
0 Comments
More Questions

535A - Tavas and Nafas
581A - Vasya the Hipster
1537B - Bad Boy
1406B - Maximum Product
507B - Amr and Pins
379A - New Year Candles
1154A - Restoring Three Numbers
750A - New Year and Hurry
705A - Hulk
492B - Vanya and Lanterns
1374C - Move Brackets
1476A - K-divisible Sum
1333A - Little Artem
432D - Prefixes and Suffixes
486A - Calculating Function
1373B - 01 Game
1187A - Stickers and Toys
313B - Ilya and Queries
579A - Raising Bacteria
723A - The New Year Meeting Friends
302A - Eugeny and Array
1638B - Odd Swap Sort
1370C - Number Game
1206B - Make Product Equal One
131A - cAPS lOCK
1635A - Min Or Sum
474A - Keyboard
1343A - Candies
1343C - Alternating Subsequence
1325A - EhAb AnD gCd