CSES - Putka Open 2015 – finaali - Results
Submission details
Task:Sanat
Sender:OOliOO
Submission time:2015-12-20 14:51:23 +0200
Language:C++
Status:READY
Result:70
Feedback
groupverdictscore
#1ACCEPTED70
Test results
testverdicttimescore
#1ACCEPTED0.66 s70details

Compiler report

input/code.cpp: In function 'bool contains(std::string, std::string)':
input/code.cpp:31:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0; i<s.size()-pattern.size()+1; i++)
                   ^
input/code.cpp: In function 'int main()':
input/code.cpp:83:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0; i<str.size(); i++)
                       ^
input/code.cpp:84:25: warning: array subscript has type 'char' [-Wchar-subscripts]
             e+=pe[str[i]];
                         ^

Code

#include <iostream>
#include <vector>
#include <stack>
#include <queue>
#include <algorithm>
#include <cmath>
#include <iomanip>
#include <unordered_set>
#include <stdio.h>
#include <string.h>
#include <unordered_map>
#include <fstream>
#include <set>
#include <map>

#define MOD 1000000007
#define ll long long
//#define N (1<<50)
#define float double
#define str string

using namespace std;

bool vokaali(char c){
    return (c=='a')||(c=='e')||(c=='i')||(c=='o')||(c=='u')||(c=='y');
}

bool contains(string s, string pattern){
    if(pattern.size()>s.size())
        return false;
    for(int i=0; i<s.size()-pattern.size()+1; i++)
        if(s.substr(i,pattern.size())==pattern)
            return true;
    return false;
}

char ps[256],pe[256];

int main(){
    pe['q']+=5;
    pe['w']+=5;
    pe['d']+=5;
    pe['f']+=5;
    pe['g']+=5;
    pe['z']+=5;
    pe['x']+=5;
    pe['c']+=5;
    pe['b']+=5;

    cin.sync_with_stdio(false);
    int n=0;
    cin>>n;

    for(int i=0; i<n; i++){
        int s=0,e=0;
        string str;
        cin>>str;
        int l=str.size();

        if(vokaali(str[l-1]))
            s+=5;
        else
            e+=5;


        if(contains(str, "aa"))
            s+=10;
        if(contains(str, "kk"))
            s+=10;
        if(contains(str, "pp"))
            s+=10;
        if(contains(str, "ee"))
            s+=10;
        if(contains(str, "uu"))
            s+=10;
        if(contains(str, "tt"))
            s+=10;
        if(contains(str, "mm"))
            s+=10;
        if(contains(str, "nn"))
            s+=10;

        for(int i=0; i<str.size(); i++)
            e+=pe[str[i]];

        if(contains(str,"ch"))
            e+=10;
        if(contains(str,"gn"))
            e+=10;
        if(contains(str,"ck"))
            e+=10;

        if(e>=s)
            cout<<"QAQ"<<endl;
        else
            cout<<"10-4"<<endl;
    }
    return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
95000
pursua
zoomata
mantelilastu
jamming
...

correct output
10-4
10-4
10-4
QAQ
QAQ
...

user output
10-4
QAQ
10-4
QAQ
QAQ
...