Блог пользователя aviaryan

Автор aviaryan, история, 8 лет назад, По-английски

I was trying to solve 732D and after struggling with an optimal algorithm for sometime, I looked into the accepted solutions and saw that many ACs were as simple as the following.

http://mirror.codeforces.com/contest/732/submission/21571861

#include<bits/stdc++.h>  
using namespace std;  
int main()  
{  
int n,m;  
cin>>n>>m;  
int arr[n+1];  
for(int i=1;i<=n;i++)cin>>arr[i];  
int sum=m,x;  
for(int i=0;i<m;i++){cin>>x; sum+=x;}  
  
for(int i=sum;i<=n;i++)if(arr[i]){cout<<i; return 0;}  
cout<<-1;  
}  

I think they will fail on a simple testcase as —

8 2
1 1 1 1 1 1 1 2
1 1

( The ans should be 8 )

Am I understanding the question incorrectly ?

UPDATE It seems like after the contest, some test cases might have been updated/added covering the case above.

  • Проголосовать: нравится
  • +19
  • Проголосовать: не нравится

»
8 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Yes even I noticed this.The test cases are indeed weak.

  • »
    »
    8 лет назад, # ^ |
      Проголосовать: нравится -36 Проголосовать: не нравится

    Then the testcases IMO were way too weak. I don't do much contests on Codeforces but I am regular on Codechef, there they don't leave these kind of edge cases. The testcases should cover each of the possible edge cases. (This one is too obvious to be even called an edge case)

»
8 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Auto comment: topic has been updated by aviaryan (previous revision, new revision, compare).