Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- int q[500005];
- int main()
- {
- ifstream f("maxim.in");
- ofstream g("maxim.out");
- int p,n,m,i,j,poz,fc[10],fcmax[10];
- f>>p>>n>>m;
- for(i=0;i<=9;i++)fc[i]=fcmax[i]=0;
- for(i=1;i<=m;i++)
- {
- f>>q[i];
- fc[q[i]]++;
- }
- if(p==1)
- {
- for(i=9;i>=0;i--)
- for(j=1;j<=fc[i];j++)
- g<<i;
- }
- else
- {
- for(i=0;i<=9;i++)fcmax[i]=fc[i];
- poz=1;
- for(i=m+1;i<=n;i++) f>>q[i];
- for(i=m+1;i<=n;i++)
- {
- fc[q[i]]++;
- fc[q[i-m]]--;
- if(q[i]>=q[i-m])
- {
- j=9;
- while(j>=0 and fc[j]==fcmax[j])
- j--;
- if(j>=0)
- {
- if(fc[j]>fcmax[j])
- {
- for(j=0;j<=9;j++)fcmax[j]=fc[j];
- poz=i-m+1;
- }
- }
- else
- poz=i-m+1;
- }
- }
- g<<poz;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement