Cod sursa(job #856174)

Utilizator ioanapopaPopa Ioana ioanapopa Data 15 ianuarie 2013 23:42:57
Problema Secventa Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
#include<cstdio>
#include<deque>
#include<cstdlib>
#define dim 500001


using namespace std;

int main()
{	freopen("secventa.in","r",stdin);
    freopen("secventa.out", "w",stdout);
    int v[dim],poz1,poz2;
	std::deque<int> mydeque1;
	std::deque<int> mydeque2;
	int n,k ;
    scanf("%d",&n);
    scanf("%d",&k);
	
    for(int i=0;i<n;i++)
        scanf("%d",&v[i]);
   
	int p=0,m=0;
   for(int i=0;i<n;i++)
   { 
	   mydeque1.clear();
	   p=0;
	   for(int j=i;j<n;j++)
	   {
		   
		   if(p==0) 
		   {
			   mydeque1.push_back(v[j]);
		       p++;
		   }
					if(j>i)
					{
					   if(mydeque1[0]<v[j]) 
					   
						   mydeque1.push_back(v[j]);
					   
						else 
								mydeque1.push_front(v[j]);
					}
			   
			if((j-i+1)>=k) 
			{
				if(m==0)
				{	
					mydeque2.push_back(mydeque1[0]);
					m++;
					poz1=i+1;
					poz2=j+1;
				}
				else 
						if(mydeque1[0]>mydeque2[0])	
							{mydeque2.push_front(mydeque1[0]);
							poz1=i+1;
							poz2=j+1;
							}
			}
	   }
   }			
	printf("%d %d %d", poz1,poz2,mydeque2[0]);
		
		//system("pause");
    return 0;
}