Pagini recente » Cod sursa (job #1271466) | Cod sursa (job #844175) | Cod sursa (job #1820849) | Cod sursa (job #2843785) | Cod sursa (job #21380)
Cod sursa(job #21380)
#include<iostream.h>
#include<fstream.h>
#include<string.h>
#define start 0
char a[500000];
int l=start;
struct secventa{
int baza;
int nr;
int prima;
int ultima;
char elem[100];} sir[500000];
void baza(int n, int k){int i,j,m;
for (i=0; i<n-k;i++){
m=a[i];
sir[l].prima=i;
for (j=i;j<k;j++)
{if (a[j]<=m){m=a[j];};
sir[l].elem[j]=a[j];
}
sir[l].baza=m;
sir[l].nr=k;
sir[l].ultima=j;
l++;
}
}
int main(){char va[100],vb[100];
int k,i,n,sol[100000],h,g,ok,max;
fstream f("secventa.in",ios::in);
while(!f.eof()){
f>>n;
f>>k;
for(i=0;i<n;i++){f>>a[i];}}
f.close();
h=0;
g=0;
for (i=k;i<n;i++)baza(n,i);
for (i=0;i<l;i++){if (sir[i].baza>h){sol[g]=i;
h=sir[i].baza;};}
ok=1;
max=sir[sol[0]].nr;
while (ok!=0){ok=0;
for(i=0;i<=g;i++)
{if (max>sir[sol[i]].nr){max=sir[sol[i]].nr;
h=i;};};}
fstream fout("secventa.out",ios::out);
fout<<sir[sol[h]].prima;
fout<<sir[sol[h]].ultima;
fout<<sir[sol[h]].baza;
fout.close();
}