my code written with c# give wrong output, im fail in testcase 7
Testcase: 5 5 3 2 1 0 0 this my code:
static void Main(string[] args) { string input = Console.ReadLine(); string[] proses = input.Split(' ');
//inputan setiap array.
string Inputn = Console.ReadLine();
string[] array = Inputn.Split(' ');
int[] array1 = new int[int.Parse(proses[0])];
//
//base case
for(int x =0; x < array.Length; x++)
{
array1[x] = int.Parse(array[x]);
}
int pos = int.Parse(proses[1]);
int basis = int.Parse(array[pos-1]);
//
int count = 0;
if (basis == 0 && array1.Sum() == 0)
{
Console.WriteLine(0);
}
else
{
for(int c =0; c < array1.Length; c++)
{
if(array1[c] >= array1[basis - 1] && array1[c] > 0)
{
count++;
}
}
Console.WriteLine(count);
}
Console.ReadLine();
}i think my code was give correct result(i think 5) but expected 3...
anyone help me.. i wonder how why my code doesnt work?
another note: i rebuild my code and im not use Linq (Where) and work perfectly if i do that with manually.



