Submission #6579975


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.substring(0, t1.length()))){
				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(i >= S.length()) break;
			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 5163 Byte
Status WA
Exec Time 328 ms
Memory 43416 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 70 ms 22484 KB
a02 AC 70 ms 20692 KB
a03 AC 69 ms 19284 KB
b04 AC 69 ms 18644 KB
b05 AC 69 ms 19284 KB
b06 AC 68 ms 19156 KB
b07 AC 69 ms 21076 KB
b08 AC 69 ms 18260 KB
b09 AC 71 ms 21588 KB
b10 WA 67 ms 17620 KB
b11 WA 68 ms 18772 KB
b12 AC 178 ms 27928 KB
b13 AC 180 ms 27032 KB
b14 AC 180 ms 28952 KB
b15 AC 149 ms 23536 KB
b16 AC 149 ms 21944 KB
b17 AC 202 ms 33680 KB
b18 AC 215 ms 34840 KB
b19 AC 176 ms 29720 KB
b20 WA 207 ms 33688 KB
b21 AC 217 ms 39960 KB
b22 AC 207 ms 38296 KB
b23 WA 191 ms 42008 KB
b24 WA 179 ms 29080 KB
b25 WA 188 ms 35864 KB
b26 AC 171 ms 28184 KB
b27 AC 197 ms 42008 KB
b28 WA 190 ms 42000 KB
b29 WA 192 ms 38680 KB
b30 AC 198 ms 43416 KB
b31 AC 194 ms 40080 KB
b32 AC 177 ms 33816 KB
b33 WA 192 ms 33816 KB
b34 AC 192 ms 34968 KB
b35 AC 188 ms 40072 KB
b36 AC 180 ms 30104 KB
b37 AC 199 ms 37912 KB
b38 WA 187 ms 35736 KB
b39 WA 184 ms 39192 KB
b40 WA 193 ms 33048 KB
b41 WA 208 ms 33176 KB
b42 WA 208 ms 41880 KB
b43 WA 190 ms 40080 KB
b44 AC 211 ms 32792 KB
b45 AC 194 ms 42008 KB
b46 AC 185 ms 41496 KB
b47 WA 179 ms 35864 KB
b48 WA 184 ms 31640 KB
b49 AC 195 ms 35224 KB
b50 AC 328 ms 32152 KB
b51 WA 191 ms 42008 KB
b52 WA 199 ms 35352 KB
b53 AC 195 ms 39704 KB
b54 WA 190 ms 33688 KB
b55 WA 189 ms 37136 KB
b56 WA 159 ms 32536 KB
b57 WA 169 ms 29976 KB
b58 AC 125 ms 23508 KB
b59 AC 86 ms 18260 KB
b60 AC 132 ms 21844 KB
b61 WA 103 ms 17876 KB
b62 AC 113 ms 20180 KB
b63 WA 156 ms 33176 KB
b64 WA 185 ms 33432 KB
b65 WA 180 ms 35224 KB
b66 WA 184 ms 39320 KB
b67 AC 196 ms 41496 KB
b68 AC 208 ms 33048 KB
b69 AC 184 ms 33304 KB
b70 AC 189 ms 40088 KB