Submission #823439

# Submission time Handle Problem Language Result Execution time Memory
823439 2023-08-12T14:11:40 Z ajay Magnus (COCI18_magnus) C++14
50 / 50
5 ms 1204 KB
/* Ajay Jadhav */

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <deque>
#include <vector>
#include <cstdlib>
#include <iomanip>
#include <cmath>
#include <queue>
#include <map>
#include <set>
#include <stack>
#include <ctime>
#include <string.h>
#include <climits>
#include <cstring>
using namespace std;

#define ll long long
#define pb push_back
#define pii pair<int, int>
#define vi vector<int>
#define vii vector<pii>
#define mi map<int, int>
#define mii map<pii, int>
#define all(a) (a).begin(), (a).end()
#define x first
#define y second
#define sz(x) (int)x.size()
#define hell 1000000007
#define rep(i, a, b) for (int i = a; i < b; i++)
#define endl '\n'

void solve()
{
    string s;
    cin >> s;
    map<char, vi> mp;
    rep(i, 0, sz(s))
    {
        mp[s[i]].push_back(i);
    }
    int cur_index = -1;
    int ans = 0;
    for (int h : mp['H'])
    {
        if (cur_index >= h)
        {
            continue;
        }

        auto it1 = lower_bound(all(mp['O']), h);
        if (it1 != mp['O'].end())
        {
            int index_o = *it1;

            auto it2 = lower_bound(all(mp['N']), index_o);
            if (it2 != mp['N'].end())
            {
                int index_n = *it2;

                auto it3 = lower_bound(all(mp['I']), index_n);
                if (it3 != mp['I'].end())
                {
                    cur_index = *it3;
                    ans++;
                }
            }
        }
    }
    cout << ans << endl;
}

signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int t = 1;
    // cin>>t;
    while (t--)
    {
        solve();
    }
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 320 KB Output is correct
3 Correct 0 ms 320 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 320 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1108 KB Output is correct
2 Correct 3 ms 1204 KB Output is correct
3 Correct 3 ms 1108 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1108 KB Output is correct
2 Correct 4 ms 1108 KB Output is correct
3 Correct 4 ms 1108 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 1108 KB Output is correct
2 Correct 3 ms 1100 KB Output is correct
3 Correct 4 ms 1108 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1100 KB Output is correct
2 Correct 4 ms 1100 KB Output is correct
3 Correct 3 ms 1104 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1156 KB Output is correct
2 Correct 3 ms 1108 KB Output is correct
3 Correct 3 ms 1108 KB Output is correct