The sample input and output:
Input:
4
1 8 8 8
Output:
6
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
My train of thought is that every time the judge is the first largest, if not, just picking a ticket inside people most votes from behind, though not the fastest algorithm, but I really don't know why will give WRONG ANSWER this prompt, the test cases is not through, seek advice
# include
using namespace std;
Bool isMax (int * p, int n) {
Int temp=p [0];
For (int I=1; iIf (p [I] & gt;=temp) {return false. }
}
return true;
}
Int main () {
int n;
Cin & gt;> n;
Int * HXZPS=new int [n].
For (int I=0; iHXZPS [I];
Int flag=0;
For (int I=0; iIf (HXZPS [I] & gt; 0 {flag++; }
}
If (flag==0) {
return 0;
}
Int count=0;
Int maxi.
while (! IsMax (HXZPS, n)) {
Int temp=0;
For (int I=1; iIf (HXZPS [I] & gt; Temp) {
Maxi=I;
Temp=HXZPS [I];
}
}
HXZPS [0] + +; count++;
HXZPS [maxi] -;
}
Cout & lt; & lt; The count & lt; & lt; Endl;
return 0;
}