Submission #1213094
Source Code Expand
#include <iostream> #include <string> #include <vector> using namespace std; int n; string s[10000]; string t; int main() { int i, j; cin >> n; for (i = 0; i < n; i++) cin >> s[i]; cin >> t; int maxCnt = 0; //Tの上にある語数の最大値 int minCnt = n; //Tの上にある語数の最小値 for (i = 0; i < n; i++) { string s1, s2; //s1…ありうる辞書順最小, s2…ありうる辞書順最大 for (j = 0; j < s[i].length(); j++) { if (s[i][j] == '?') s1 += 'a'; else s1 += s[i][j]; } for (j = 0; j < s[i].length(); j++) { if (s[i][j] == '?') s2 += 'z'; else s2 += s[i][j]; } if (s1 <= t) { //tの上に来る可能性があるか? maxCnt++; } if (s2 >= t) { //tの下に来る可能性があるか? minCnt--; } } vector<int> ans; for (i = minCnt; i <= maxCnt; i++) { ans.push_back(i + 1); } for (i = 0; i < ans.size(); i++) { cout << ans[i]; if (i + 1 < ans.size()) cout << " "; } cout << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | A - Atcoder Handles |
User | startcpp |
Language | C++14 (GCC 5.4.1) |
Score | 250 |
Code Size | 1047 Byte |
Status | AC |
Exec Time | 15 ms |
Memory | 896 KB |
Judge Result
Set Name | Subtask1 | Subtask2 | ||||
---|---|---|---|---|---|---|
Score / Max Score | 130 / 130 | 120 / 120 | ||||
Status |
|
|
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 | 1 ms | 384 KB |
sub1_in2.txt | AC | 2 ms | 384 KB |
sub1_in3.txt | AC | 2 ms | 384 KB |
sub2_in1.txt | AC | 1 ms | 384 KB |
sub2_in2.txt | AC | 8 ms | 640 KB |
sub2_in3.txt | AC | 15 ms | 896 KB |