Shayan.To's blog

By Shayan.To, 9 years ago, In English

I can not understand why my code make wrong answer for the last test. my algorithm is same as editorial and my code is like some others that I have seen. The question is 508C - Аня и привидения. the C problem of last contest. and my code: 9606896

int m, t, r;

int wr[305];

bool can[611];

int num[611];

int res = 0;

int main() {

cin >> m >> t >> r;

For(i, 0, m)
{
    cin >> wr[i];
    wr[i] += 304;
}

int now, need, j;
if (t >= r)
{
    For(i, 0, m)
    {
       now = wr[i];
       need = r - num[now];
       for (int l = 1; l <= t; l++)
       {
          if (need <= 0)
              break;
          j = now &mdash; l;
          if (can[j] != true)
          {
              can[j] = true;
              res++;
              need--;
              For(k, 0, t)
              {
                 num[j + 1 + k]++;
              }

          }

       }

       if (need > 0)
       {
          cout << -1 << '\n';
          return 0;
       }
    }
    cout << res << '\n';
    return 0;
}

cout << -1 << '\n';
return 0;

}

  • Vote: I like it
  • -5
  • Vote: I do not like it

»
9 years ago, # |
Rev. 3   Vote: I like it +3 Vote: I do not like it

Just increase size:

int wr[1305]; bool can[1611]; int num[1611];

9611486