Submission #205033

# Submission time Handle Problem Language Result Execution time Memory
205033 2020-02-27T17:37:52 Z MetB Klavir (COCI17_klavir) C++14
0 / 160
243 ms 23964 KB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>

using namespace __gnu_pbds;

#define N 1000001

using namespace std;

typedef long long ll;
typedef unsigned long long ull;

const ll INF = 1e18, MOD = 1e9 + 7, MOD2 = 1e6 + 3;

int n, m;
ll pf[N], pw[N], s[N];

int main () {
	cin >> n;
	cin >> m;

    pw[0] = 1;

    for (int i = 1; i <= m; i++)
        pw[i] = n * pw[i-1] % MOD;

	for (int i = 0; i < m; i++) {
		cin >> s[i];
	}

	for (int i = 1; i < m; i++) {
		int j = pf[i-1];
		while (j > 0 && s[j] != s[i])
			j = pf[j-1];
		if (s[i] == s[j]) j++;
		pf[i] = j;
	}

	ll ans = n;

	cout << n << '\n';


    for (int i = 1; i < n; i++) {

		int l = i - 1, r = i;

		while (l != r) {
			if (l > r) {
				ans = (ans + MOD - pw[l+1]) % MOD;
				l = pf[l] - 1;
			}

			if (l < r) {
				ans = (ans + pw[r+1]) % MOD;
				r = pf[r] - 1;
			}
		}

        cout << ans << '\n';
    }
}

Compilation message

klavir.cpp: In function 'int main()':
klavir.cpp:24:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
     for (int i = 1; i <= m; i++)
     ^~~
klavir.cpp:27:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
  for (int i = 0; i < m; i++) {
  ^~~
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 504 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 28 ms 2680 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 239 ms 23760 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 234 ms 23964 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 243 ms 23800 KB Output isn't correct
2 Halted 0 ms 0 KB -