Untitled

 avatar
unknown
plain_text
2 years ago
1.7 kB
6
Indexable
#include <bits/stdc++.h>

using namespace std;

int n, v, c, t, cnt, ans, maxnr, f[55], cnt1;
string s1, vrajMax;
bool ok=false;

int put(int a, int b){
    int p=1;
    for(int i=1; i<=b; i++){
        p*=a;
    }
    return p;
}

int vocala(char s){
  if(s=='a' || s=='e' || s=='i' || s=='o' || s=='u' || s=='q' || s=='w' || s=='y') return true;
  return false;
}

int solve(string s){
    int nrv=0,  nrc=0, putere=0, nrdif=0, i=0;
    while(s[i]!='\0'){
        if(vocala(s[i])==true) nrv++;
        if(vocala(s[i])==false) nrc++;
        f[s[i]-'a']++;
        i++;
    }
    for(int i=0; i<=25; i++){
        if(f[i]) nrdif++;
    }

    putere=(nrv*v+nrc*c)/nrdif+1;
    
    i=0;
    int cnt=0;
    while(s[i]!='\0'){
        if(s[i]==s[i+1]){
            cnt=1;
            int ci=i;
            while(s[i]==s[ci]){
                ci++, cnt++;
            }
            if(cnt>1 && vocala(s[i])) putere+=put(v, cnt-1);
            else if(cnt>1 && vocala(s[i])==false) putere+=put(c, cnt-1);
            i=ci-1;
        }
        i++;
    }
    
    return putere;
}
int main()
{
    ifstream fin("vraji.in");
    ofstream fout("vraji.out");
    
    fin>>t;
    fin>>n>>v>>c;
    
    for(int i=1; i<=n; i++){
        fin>>s1;
        int j=0;
        ok=false;
        while(s1[j]!='\0'){
            if(s1[j]==s1[j-1]) ok=true;
            j++;
        }
        if(ok==true) cnt1++;
        if(solve(s1)>maxnr){
            maxnr=solve(s1);
            ans=1;
            vrajMax=s1;
        }
        else if(solve(s1)==maxnr){
            ans++;
        }
    }
    
    if(t==1) fout<<cnt1;
    else fout<<ans<<" "<<vrajMax;
    
}
Editor is loading...