Submission #20873

# Submission time Handle Problem Language Result Execution time Memory
20873 2017-02-28T16:26:08 Z gs14004 돌 옮기기 (GA7_stone) C++11
0 / 100
39 ms 4488 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long lint;
typedef long double llf;
typedef pair<lint, lint> pi;
const int mod = 1e9 + 7;

string s, t;
int l, n, fail[400005];

int main(){
	cin >> l >> n;
	for(int i=0; i<2*n; i++){
		char t[5];
		scanf("%*d %s",t);
		s.push_back(*t);
	}
	string t = s + s;
	for(auto &i : s) i = 'W' + 'B' - i;
	int p = 0, ans = 1e9;
	for(int i=1; i<s.size(); i++){
		while(p > 0 && s[i] != s[p]) p = fail[p];
		if(s[i] == s[p]) p++;
		fail[i+1] = p;
	}
	p = 0;
	for(int i=0; i<t.size(); i++){
		while(p > 0 && t[i] != s[p]) p = fail[p];
		if(t[i] == s[p]) p++;
		if(p == s.size()){
			ans = min({ans, i - (int)t.size(), 2*n-i + (int)t.size()});
			p = fail[p];
		}
	}
	if(ans > 1e8){
		puts("-1");
		return 0;
	}
	cout << 1ll * ans * l;
}

Compilation message

stone.cpp: In function 'int main()':
stone.cpp:21:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=1; i<s.size(); i++){
                ^
stone.cpp:27:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0; i<t.size(); i++){
                ^
stone.cpp:30:8: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(p == s.size()){
        ^
stone.cpp:15:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%*d %s",t);
                    ^
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 3580 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 3580 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 3580 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 3580 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 39 ms 4488 KB Output isn't correct
2 Halted 0 ms 0 KB -