Submission #1213035


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

int N;
string S[10005];

bool cmp(string a, string b) {
	for (int i = 0; i < min(a.length(), b.length()); i++) {
		if (a[i] == '?' && b[i] < 'z') return 0;
		if (b[i] == '?' && a[i] < 'z') return 1;
		
		if (a[i] < b[i]) return 1;
		if (a[i] > b[i]) return 0;
	}
	if (a.length() < b.length()) return 1;
	else return 0;
}

bool cmp1(string a, string b) {
	for (int i = 0; i < min(a.length(), b.length()); i++) {
		if (a[i] == '?' && b[i] > 'a') return 1;
		if (a[i] > 'a' && b[i] == '?') return 0;
		if (a[i] < b[i]) return 1;
		if (a[i] > b[i]) return 0;
	}
	if (a.length() < b.length()) return 1;
	else return 0;
}

string T;

int main() {
	scanf("%d", &N);
	for (int i = 0; i < N + 1; i++) cin >> S[i];
	T = S[N];
	sort(S, S + N + 1, cmp1);
	int mini = 2000000000;
	for (int i = 0; i < N + 1; i++) if (T == S[i]) mini = min(mini, i + 1);
	sort(S, S + N + 1, cmp);
	int maxi = 0;
	for (int i = 0; i < N + 1; i++) if (T == S[i]) maxi = max(maxi, i + 1);
	for (int i = mini; i <= maxi; i++) {
		if (i != mini) printf(" ");
		printf("%d", i);
	}
	printf("\n");
}

Submission Info

Submission Time
Task A - Atcoder Handles
User pwypeanut
Language C++14 (GCC 5.4.1)
Score 130
Code Size 1155 Byte
Status WA
Exec Time 48 ms
Memory 896 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:33:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &N);
                 ^

Judge Result

Set Name Subtask1 Subtask2
Score / Max Score 130 / 130 0 / 120
Status
AC × 3
AC × 3
WA × 3
Set Name Test Cases
Subtask1 sub1_in1.txt, sub1_in2.txt, sub1_in3.txt
Subtask2 sub1_in1.txt, sub1_in2.txt, sub1_in3.txt, sub2_in1.txt, sub2_in2.txt, sub2_in3.txt
Case Name Status Exec Time Memory
sub1_in1.txt AC 2 ms 384 KB
sub1_in2.txt AC 4 ms 384 KB
sub1_in3.txt AC 4 ms 384 KB
sub2_in1.txt WA 2 ms 384 KB
sub2_in2.txt WA 23 ms 640 KB
sub2_in3.txt WA 48 ms 896 KB