Creative Candy Consumption
Problem LinkSolution by TheRealFertos — 100 pts
Code / Notes
#include <bits/stdc++.h>
using namespace std;
//professor pesquisa Eternal Sleep Paralysis
//https://www.youtube.com/watch?v=JtJuv17TjCM/esse aq
// Problema Atual: 4
int BLOODLUST (int a,int b) {
if (a==b) {return 0;}
else if (a>b) {
if (a==3 && b==1) {return -1;}
else {return 1;}
}
else if (b==3 && a==1) {return 1;}
else {return -1;}
}
int main () {
string a,b;
cin >> a >> b;
vector <int> esm,ssm;
for (int i=(a.size())-1;i>=0;i--) {
char w = a[i];
if (w=='R') {esm.push_back(3);}
else if (w=='G') {esm.push_back(2);}
else {esm.push_back(1);}
}
for (int i=(b.size())-1;i>=0;i--) {
char w=b[i];
if (w=='R') {ssm.push_back(3);}
else if (w=='G') {ssm.push_back(2);}
else {ssm.push_back(1);}
}
int N=0, M=0;
while (esm.size()>0 && ssm.size()>0) {
int w=BLOODLUST(esm.back(),ssm.back());
if (w==0) { // :cry:
esm.pop_back();
ssm.pop_back();
N++;
M++;
}
else if (w==1) { // :cry:
ssm.pop_back();//==//nn//as operacoes em si vao ser muitas//eu acho//no minimo um segundo pro pior caso//e isso e so os bloodlusts
N++;//tipo so as funcoes com tipo R e G ou vice versa vai dar 4 operacoes// ai com no maximo 1999999 operacoes isso ja da .8 segundos
}
// 1'000'000 pra cada
// 2'000'000 que vai rodar -> * 5 -> 1e7 -> 0.02s -> 150x mais rapido do que precisa
// Limite = 3s
// 1e8 = 1s
else {//1999999 operacoes// sobra 1//e mt lento pro meu gosto
esm.pop_back();
M++;//tendi//era pra dar 2 5t
}
}
if (esm.size()!=0) {N+=esm.size();}
else {M+=ssm.size();}
cout << N << endl << M;
}
//eu tenho a impressao que vai ficar lento
// por que?
Last updated 14 hours, 48 minutes ago