//Answer on Question#44994 - Progamming - C
#include <stdio.h>
#include <string.h>
int main() {
int T;
char S[70];
int len;
int i, j;
int curr;
int start, finish;
int pos['z' - 'a' + 1];
scanf("%d", &T);
while (T-- > 0) {
scanf("%s", S);
len = strlen(S);
start = 0;
finish = 0;
curr = 0;
memset(pos, -1, sizeof(pos));
for (i = 0; i < len; ++i) {
if (pos[S[i] - 'a'] != -1) {
if (i - curr > finish - start + 1) {
start = curr;
finish = i - 1;
}
for (j = curr; j < pos[S[i] - 'a']; ++j) {
pos[S[j] - 'a'] = -1;
}
curr = pos[S[i] - 'a'] + 1;
} else {
pos[S[i] - 'a'] = i;
}
}
if (len - curr > finish - start + 1) {
start = curr;
finish = len - 1;
}
for (i = start; i <= finish; ++i) {
printf("%c", S[i]);
}
printf("\n");
}
}
Comments
Leave a comment