Submission #49652242


Source Code Expand

#include <iostream>
#include <map>
#include <vector>

using namespace std;
using ui = unsigned int;

int main()
{
  ui a, b, c;
  cin >> a >> b >> c;

  map<ui, ui> rm;
  vector<ui> rv;

  ui x = 1;
  ui pr = 0;
  bool exists = false;
  while (true)
  {
    ui r = (a * x - c) % b;
    if (r == 0)
    {
      cout << "YES" << endl;
      return 0;
    }

    if (rm.count(r) > 0)
    {
      if (exists && rv[rm[r] - 1] == pr)
      {
        cout << "NO" << endl;
        return 0;
      }
      exists = true;
    }
    else
    {
      exists = false;
    }

    rv.push_back(r);
    rm[r] = rv.size() - 1;
    pr = r;
    x++;
  }

  return 0;
}

Submission Info

Submission Time
Task B - Choose Integers
User michimani
Language C++ 20 (Clang 16.0.6)
Score 200
Code Size 698 Byte
Status AC
Exec Time 1 ms
Memory 3680 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 5
AC × 15
Set Name Test Cases
Sample example0, example1, example2, example3, example4
All ansno0, ansno1, ansno2, ansno3, ansno4, ansyes0, ansyes1, ansyes2, ansyes3, ansyes4, example0, example1, example2, example3, example4
Case Name Status Exec Time Memory
ansno0 AC 1 ms 3508 KiB
ansno1 AC 1 ms 3512 KiB
ansno2 AC 1 ms 3480 KiB
ansno3 AC 1 ms 3556 KiB
ansno4 AC 1 ms 3620 KiB
ansyes0 AC 1 ms 3604 KiB
ansyes1 AC 1 ms 3508 KiB
ansyes2 AC 1 ms 3440 KiB
ansyes3 AC 1 ms 3416 KiB
ansyes4 AC 1 ms 3448 KiB
example0 AC 1 ms 3536 KiB
example1 AC 1 ms 3544 KiB
example2 AC 1 ms 3680 KiB
example3 AC 1 ms 3380 KiB
example4 AC 1 ms 3444 KiB