Submission #6581106


Source Code Expand

Copy
import java.io.*;
import java.lang.reflect.Array;
import java.util.*;
import java.util.Map.Entry;
import java.util.function.Function;
import java.util.stream.Collectors;

@SuppressWarnings("unused")
public class Main {
	FastScanner in = new FastScanner(System.in);
	PrintWriter out = new PrintWriter(System.out);
	final int MOD = (int)1e9+7;
	void printlnYN(boolean b){out.println((b ? "YES" : "NO"));}

	//System.out.println();はつかわない!!
	void solve() throws Exception{
		String S = in.nextStr(), T = in.nextStr();
		
		boolean[] isAll = new boolean[2];
		Arrays.fill(isAll, true);
		for(int i = 0; i < S.length()-1; i++){
			if(S.charAt(i) != S.charAt(i+1)){
				isAll[0] = false;
				break;
			}
		}
		for(int i = 0; i < T.length()-1; i++){
			if(T.charAt(i) != T.charAt(i+1)){
				isAll[1] = false;
				break;
			}
		}
		
		if((isAll[0] && isAll[1] && S.charAt(0) == T.charAt(0))){
			out.println("-1");
			return;
		}
		
		if(S.length() <= T.length()){
			String s1 = new String(S), t1 = new String(T);
			while(s1.length() < t1.length()) s1 += s1;
			if(t1.equals(s1)){
				out.println("-1");
				return;
			}
		}
		
		int ans = 0;
		boolean isOk = false;
		int index = 0;
		int len = 0, cnt = 0;
		S += S;
		ArrayList<Integer> list = new ArrayList<>();
		for(int i = 0; i < S.length(); i++){
			if(S.charAt(i) == T.charAt(index)){
				index++;
				if(index == T.length()){
					cnt++;
					index = 0;
				}
			}else{
				ans = Math.max(ans, cnt);
				cnt = 0;
				index = 0;
			}
		}
		if(cnt != 0) ans = Math.max(ans, cnt);
		out.println(ans);
	}
	
	public static void main(String[] args) throws Exception {
		new Main().m();
	}
	
	void m() throws Exception {
		solve();
		out.flush();
	}
	
	class FastScanner {
		Reader input;

		FastScanner() {this(System.in);}
		FastScanner(InputStream stream) {this.input = new BufferedReader(new InputStreamReader(stream));}
		
		int nextInt() {return (int) nextLong();}

		long nextLong() {
			try {
				int sign = 1;
				int b = input.read();
				while ((b < '0' || '9' < b) && b != '-' && b != '+') {
					b = input.read();
				}
				if (b == '-') {
					sign = -1;
					b = input.read();
				} else if (b == '+') {
					b = input.read();
				}
				long ret = b - '0';
				while (true) {
					b = input.read();
					if (b < '0' || '9' < b) return ret * sign;
					ret *= 10;
					ret += b - '0';
				}
			} catch (IOException e) {
				e.printStackTrace();
				return -1;
			}
		}

		double nextDouble() {
			try {
				double sign = 1;
				int b = input.read();
				while ((b < '0' || '9' < b) && b != '-' && b != '+') {
					b = input.read();
				}
				if (b == '-') {
					sign = -1;
					b = input.read();
				} else if (b == '+') {
					b = input.read();
				}
				double ret = b - '0';
				while (true) {
					b = input.read();
					if (b < '0' || '9' < b) break;
					ret *= 10;
					ret += b - '0';
				}
				if (b != '.') return sign * ret;
				double div = 1;
				b = input.read();
				while ('0' <= b && b <= '9') {
					ret *= 10;
					ret += b - '0';
					div *= 10;
					b = input.read();
				}
				return sign * ret / div;
			} catch (IOException e) {
				e.printStackTrace();
				return Double.NaN;
			}
		}

		char nextChar() {
			try {
				int b = input.read();
				while (Character.isWhitespace(b)) {
					b = input.read();
				}
				return (char) b;
			} catch (IOException e) {
				e.printStackTrace();
				return 0;
			}
		}

		String nextStr() {
			try {
				StringBuilder sb = new StringBuilder();
				int b = input.read();
				while (Character.isWhitespace(b)) {
					b = input.read();
				}
				while (b != -1 && !Character.isWhitespace(b)) {
					sb.append((char) b);
					b = input.read();
				}
				return sb.toString();
			} catch (IOException e) {
				e.printStackTrace();
				return "";
			}
		}
		
		public int[] nextIntArray(int n) {
			int[] res = new int[n];
			for (int i = 0; i < n; i++) {
				res[i] = nextInt();
			}
			return res;
		}
 
		public int[] nextIntArrayDec(int n) {
			int[] res = new int[n];
			for (int i = 0; i < n; i++) {
				res[i] = nextInt() - 1;
			}
			return res;
		}
 
		public int[] nextIntArray1Index(int n) {
			int[] res = new int[n + 1];
			for (int i = 0; i < n; i++) {
				res[i + 1] = nextInt();
			}
			return res;
		}
 
		public long[] nextLongArray(int n) {
			long[] res = new long[n];
			for (int i = 0; i < n; i++) {
				res[i] = nextLong();
			}
			return res;
		}
 
		public long[] nextLongArrayDec(int n) {
			long[] res = new long[n];
			for (int i = 0; i < n; i++) {
				res[i] = nextLong() - 1;
			}
			return res;
		}
 
		public long[] nextLongArray1Index(int n) {
			long[] res = new long[n + 1];
			for (int i = 0; i < n; i++) {
				res[i + 1] = nextLong();
			}
			return res;
		}
 
		public double[] nextDoubleArray(int n) {
			double[] res = new double[n];
			for (int i = 0; i < n; i++) {
				res[i] = nextDouble();
			}
			return res;
		}
	}
}
/* end Main */

Submission Info

Submission Time
Task F - Strings of Eternity
User Oland
Language Java8 (OpenJDK 1.8.0)
Score 0
Code Size 5148 Byte
Status WA
Exec Time 213 ms
Memory 43416 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 600
Status
AC × 3
AC × 43
WA × 27
Set Name Test Cases
Sample a01, a02, a03
All a01, a02, a03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56, b57, b58, b59, b60, b61, b62, b63, b64, b65, b66, b67, b68, b69, b70
Case Name Status Exec Time Memory
a01 AC 68 ms 18132 KB
a02 AC 69 ms 18388 KB
a03 AC 69 ms 18772 KB
b04 AC 68 ms 19284 KB
b05 AC 70 ms 20308 KB
b06 AC 70 ms 19152 KB
b07 AC 70 ms 20052 KB
b08 AC 70 ms 18644 KB
b09 AC 69 ms 19156 KB
b10 AC 69 ms 21076 KB
b11 WA 70 ms 21332 KB
b12 AC 179 ms 26008 KB
b13 AC 179 ms 27280 KB
b14 AC 186 ms 27544 KB
b15 AC 149 ms 21048 KB
b16 AC 157 ms 23352 KB
b17 AC 199 ms 32152 KB
b18 AC 213 ms 34832 KB
b19 AC 174 ms 28568 KB
b20 WA 204 ms 35864 KB
b21 AC 212 ms 41872 KB
b22 AC 206 ms 39056 KB
b23 WA 191 ms 39568 KB
b24 WA 175 ms 28184 KB
b25 WA 186 ms 32920 KB
b26 AC 170 ms 29208 KB
b27 AC 195 ms 41488 KB
b28 WA 190 ms 43160 KB
b29 WA 187 ms 42008 KB
b30 AC 191 ms 41368 KB
b31 AC 198 ms 39448 KB
b32 AC 177 ms 35096 KB
b33 WA 190 ms 33176 KB
b34 AC 191 ms 33176 KB
b35 AC 184 ms 39832 KB
b36 AC 184 ms 37144 KB
b37 AC 199 ms 35224 KB
b38 WA 196 ms 33432 KB
b39 WA 183 ms 39704 KB
b40 WA 191 ms 33688 KB
b41 WA 205 ms 33688 KB
b42 WA 193 ms 41880 KB
b43 WA 188 ms 42648 KB
b44 AC 191 ms 32408 KB
b45 AC 193 ms 42004 KB
b46 AC 180 ms 41240 KB
b47 WA 176 ms 32280 KB
b48 WA 187 ms 33176 KB
b49 AC 187 ms 33816 KB
b50 AC 190 ms 32152 KB
b51 WA 188 ms 42128 KB
b52 WA 189 ms 35992 KB
b53 AC 192 ms 43416 KB
b54 WA 188 ms 33424 KB
b55 WA 186 ms 33176 KB
b56 WA 156 ms 29720 KB
b57 WA 156 ms 27032 KB
b58 AC 112 ms 22356 KB
b59 AC 86 ms 18900 KB
b60 AC 119 ms 22356 KB
b61 WA 91 ms 18516 KB
b62 AC 98 ms 19412 KB
b63 WA 160 ms 31768 KB
b64 WA 184 ms 35608 KB
b65 WA 179 ms 32152 KB
b66 WA 180 ms 38808 KB
b67 AC 193 ms 39960 KB
b68 AC 192 ms 35352 KB
b69 AC 181 ms 35864 KB
b70 AC 188 ms 39960 KB