Pagini recente » Cod sursa (job #2841040) | Cod sursa (job #1584467) | probleme.pe.biti | Cod sursa (job #2753614) | Cod sursa (job #1397948)
program siruri;
var v:array[1..1000001] of char;
cd:array[1..99999999] of longint;
used:array[1..100001] of 0..1;
n,p:longint;
procedure citire;
var i:longint;
f:text;
begin
assign(f,'siruri.in'); reset(f);
readln(f,p);
readln(f,n);
for i:=1 to n do
read(f,v[i]);
close(f);
end;
procedure scrie(x:longint);
var g:text;
begin
assign(g,'siruri.out'); rewrite(g);
writeln(g,x);
close(g);
end;
procedure sol1;
var i,j,nrs,st,sf,prec,k:longint;
max,val,min:char;
begin
nrs:=n;
for i:=1 to n do
cd[i]:=i;
st:=1; sf:=n;
while st<=sf do begin
prec:=cd[st];
for i:=prec+1 to n do
if v[prec]<=v[i] then begin
sf:=sf+1;
cd[sf]:=i;
nrs:=nrs+1 mod 41357 ;
end;
st:=st+1;
end;
scrie(nrs);
end;
procedure sol2;
var i,j,st,nrp:longint;
begin
nrp:=0;
for i:=1 to n do
if used[i]=0 then begin
used[i]:=1;
st:=i;
for j:=i+1 to n do
if (v[st]<=v[j])and(used[j]=0) then begin
st:=j;
used[j]:=1;
end;
nrp:=nrp+1;
end;
scrie(nrp);
end;
begin
citire;
if p=1 then
sol1
else
sol2;
end.