Submission #310461

# Submission time Handle Problem Language Result Execution time Memory
310461 2020-10-07T04:12:44 Z phathnv Parametriziran (COCI19_parametriziran) C++11
110 / 110
276 ms 1400 KB
#include <bits/stdc++.h>

#define mp make_pair
#define X first
#define Y second
#define taskname "Parametriziran"

using namespace std;

typedef long long ll;
typedef pair <int, int> ii;

const int N = 50000;
const int M = 6;

int n, m;
bitset <N> bs[M][26], cur;

void readInput(){
    cin >> n >> m;
}

void solve(){
    ll res = 0;
    for(int i = 0; i < n; i++){
        string s;
        cin >> s;

        bitset <N> tmp = cur;
        for(int j = 0; j < m; j++){
            if (s[j] == '?')
                continue;
            tmp &= bs[j][s[j] - 'a'];
        }
        res += tmp.count();

        for(int j = 0; j < m; j++)
            if (s[j] == '?')
                for(int c = 0; c < 26; c++)
                    bs[j][c][i] = 1;
            else
                bs[j][s[j] - 'a'][i] = 1;

        cur[i] = 1;
    }

    cout << res;
}

int main(){
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    //freopen(taskname".inp", "r", stdin);
    //freopen(taskname".out", "w", stdout);
    readInput();
    solve();
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 164 ms 632 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 108 ms 640 KB Output is correct
2 Correct 106 ms 632 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 140 ms 824 KB Output is correct
2 Correct 181 ms 640 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 124 ms 836 KB Output is correct
2 Correct 110 ms 760 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 184 ms 888 KB Output is correct
2 Correct 87 ms 1016 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 226 ms 1120 KB Output is correct
2 Correct 145 ms 1032 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 171 ms 1400 KB Output is correct
2 Correct 111 ms 1144 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 222 ms 1144 KB Output is correct
2 Correct 190 ms 1144 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 184 ms 1272 KB Output is correct
2 Correct 117 ms 1272 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 276 ms 1400 KB Output is correct
2 Correct 220 ms 1400 KB Output is correct