Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var s,kq,t:ansistring;
- a:array[0..5000,0..5000] of longint;
- n,i,j,max,k:longint;
- kt:array['A'..'Z'] of boolean;
- kt2:boolean;
- f:text;
- begin
- assign(f,'');reset(f);
- readln(f,s);
- a[1][1]:=1;
- max:=0;
- for i:=1 to 2500 do kq:=kq+'Z';
- n:=length(s);
- for i:=1 to n do a[i][i]:=1;
- fillchar(kt,sizeof(kt),true);
- for i:=1 to n do
- for j:=i+1 to n do
- begin
- if (kt2=true) then fillchar(kt,sizeof(kt),true);
- kt[s[i]]:=false;
- if kt[s[j]]=true then begin kt[s[j]]:=false; a[i][j]:=a[i][j-1]+1; end
- else
- a[i][j]:=a[i][j-1]-1;
- if j<n then kt2:=false;
- if j=n then kt2:=true;
- end;
- for i:=1 to n do
- for j:=1 to n do if a[i][j]>max then max:=a[i][j];
- for i:=1 to n do
- for j:=i to n do
- if a[i][j]=max then
- begin
- t:=s;
- delete(t,j+1,length(s)-j);
- delete(t,1,i-1);
- if (t<kq) then kq:=t;
- end;
- write(kq);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement