#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define max(x,y) ((x) > (y) ? (x) : (y)) #define mint(x,y) ((x) < (y) ? (x) : (y)) using namespace std; vector a; vector indexx; bool f(int c, int b) { // cout << "comparing " << c << " and " << b << endl; return a.at(c)> n; while(n!=0) { a.clear(); indexx.clear(); for(int i=0;i> temp; a.push_back(temp); } sort(indexx.begin(),indexx.end(),f); int tempsum=0,sum=0; int tmax=a.at(0); int tmaxpos=0; for(int i=0;itmax) { tmax=a.at(i); tmaxpos=i; } } for(int i=0;itmax) { tmax=a.at((i+j)%n); tmaxpos=(i+j)%n; } }*/ if(tmax<=a.at((i+k-2)%n)) { tmax=a.at((i+k-2)%n); tmaxpos=(i+k-2)%n; } else if (tmaxpos == i-1) { int ti=n-1; while(((indexx.at(ti)> n; } return 0; }