In this HackerEarth Mark, The Answer problem solution Our friend Monk has an exam that has quite weird rules. Each question has a difficulty level in the form of an Integer. Now, Monk can only solve the problems that have difficulty levels less than X . Now the rules are-
- A score of the student is equal to the maximum number of answers he/she has attempted without skipping a question.
- The student is allowed to skip just "one" question that will not be counted in the continuity of the questions.
HackerEarth Mark The Answer problem solution.
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,d;
cin>>n>>d;
bool flag=false;
int ans=0;
vector<int> vec(n);
for(int i=0;i<n;i++)
cin>>vec[i];
for(int i=0;i<n;i++)
{
if(vec[i]>d)
{
if(flag==false)
{
flag=true;
continue;
}
else
{
break;
}
}
else
{
ans++;
}
}
cout<<ans<<endl;
return 0;
}
Second solution
n,d = map(int,raw_input().split(' '))
assert(n >= 1 and n <= 10**5 and d >= 1 and d <= 10**9)
a = map(int,raw_input().split(' '))
for i in range(0,n):
assert(a[i] >= 1 and a[i] <= 10**9)
prev = 0
curr = 0
i = 0
while i < n and a[i] <= d:
prev+=1
i+=1
i+=1
while i < n and a[i] <= d:
curr+=1
i+=1
print prev+curr
0 Comments