Submission #6580544


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;
			}
		}
		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 5106 Byte
Status WA
Exec Time 217 ms
Memory 44056 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 600
Status
AC × 3
AC × 42
WA × 28
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 19284 KB
a02 AC 69 ms 18772 KB
a03 AC 68 ms 23124 KB
b04 AC 68 ms 21204 KB
b05 AC 70 ms 18772 KB
b06 AC 69 ms 20436 KB
b07 AC 69 ms 22868 KB
b08 AC 70 ms 20436 KB
b09 AC 69 ms 21204 KB
b10 WA 68 ms 20564 KB
b11 WA 68 ms 21204 KB
b12 AC 178 ms 27160 KB
b13 AC 183 ms 27160 KB
b14 AC 184 ms 28568 KB
b15 AC 148 ms 22000 KB
b16 AC 147 ms 25328 KB
b17 AC 199 ms 32664 KB
b18 AC 212 ms 34584 KB
b19 AC 175 ms 29720 KB
b20 WA 204 ms 35344 KB
b21 AC 217 ms 41624 KB
b22 AC 206 ms 41496 KB
b23 WA 188 ms 42136 KB
b24 WA 175 ms 31640 KB
b25 WA 188 ms 34192 KB
b26 AC 169 ms 31768 KB
b27 AC 189 ms 38800 KB
b28 WA 187 ms 40472 KB
b29 WA 187 ms 44056 KB
b30 AC 190 ms 41240 KB
b31 AC 193 ms 41624 KB
b32 AC 176 ms 32400 KB
b33 WA 187 ms 36504 KB
b34 AC 187 ms 35224 KB
b35 AC 187 ms 39960 KB
b36 AC 180 ms 31768 KB
b37 AC 193 ms 35864 KB
b38 WA 195 ms 34968 KB
b39 WA 186 ms 38552 KB
b40 WA 189 ms 34840 KB
b41 WA 203 ms 34580 KB
b42 WA 189 ms 38544 KB
b43 WA 186 ms 40728 KB
b44 AC 189 ms 31240 KB
b45 AC 190 ms 38280 KB
b46 AC 178 ms 41488 KB
b47 WA 174 ms 32664 KB
b48 WA 180 ms 31384 KB
b49 AC 186 ms 33176 KB
b50 AC 186 ms 34584 KB
b51 WA 188 ms 42008 KB
b52 WA 185 ms 35600 KB
b53 AC 191 ms 40088 KB
b54 WA 183 ms 32408 KB
b55 WA 185 ms 33304 KB
b56 WA 155 ms 31120 KB
b57 WA 153 ms 29712 KB
b58 AC 109 ms 24788 KB
b59 AC 73 ms 21332 KB
b60 AC 118 ms 24532 KB
b61 WA 92 ms 19412 KB
b62 AC 107 ms 19796 KB
b63 WA 157 ms 30104 KB
b64 WA 181 ms 33432 KB
b65 WA 177 ms 33816 KB
b66 WA 180 ms 39448 KB
b67 AC 191 ms 42136 KB
b68 AC 205 ms 33176 KB
b69 AC 179 ms 33816 KB
b70 AC 190 ms 40088 KB