Submission #4031247


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

ll gcd(ll a, ll b) {
  if(a==0) return b;
  if(a>b) return gcd(a%b, b);
  else return gcd(b%a, a);
}
ll lcd(ll a, ll b) {
  return a*b/gcd(a,b);
}

int main() {
  ll n,m;
  cin >> n >> m;
  string s,t;
  cin >> s >> t;
  bool flag=true;
  ll l=lcd(n,m);
  ll nl=l/n,ml=l/m;
  ll nmLcd = lcd(nl,ml);

  for(ll i=1;i<=l;i+=nmLcd) {
    if( (i-1)%nl==0 && (i-1)%ml==0) {
      if( s[(i-1)/nl] != t[(i-1)/ml]) {
        flag=false;
        break;
      }
    }
  }
  if(flag) cout << l << endl;
  else cout << -1 << endl;
}

Submission Info

Submission Time
Task A - Two Abbreviations
User yapatta
Language C++14 (GCC 5.4.1)
Score 300
Code Size 621 Byte
Status AC
Exec Time 7 ms
Memory 512 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 21
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt
All sample-01.txt, sample-02.txt, sample-03.txt, sample-01.txt, sample-02.txt, sample-03.txt, subtask01-01.txt, subtask01-02.txt, subtask01-03.txt, subtask01-04.txt, subtask01-05.txt, subtask01-06.txt, subtask01-07.txt, subtask01-08.txt, subtask01-09.txt, subtask01-10.txt, subtask01-11.txt, subtask01-12.txt, subtask01-13.txt, subtask01-14.txt, subtask01-15.txt
Case Name Status Exec Time Memory
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB
sample-03.txt AC 1 ms 256 KB
subtask01-01.txt AC 1 ms 256 KB
subtask01-02.txt AC 3 ms 384 KB
subtask01-03.txt AC 5 ms 512 KB
subtask01-04.txt AC 5 ms 512 KB
subtask01-05.txt AC 6 ms 512 KB
subtask01-06.txt AC 6 ms 512 KB
subtask01-07.txt AC 3 ms 384 KB
subtask01-08.txt AC 4 ms 384 KB
subtask01-09.txt AC 5 ms 384 KB
subtask01-10.txt AC 7 ms 512 KB
subtask01-11.txt AC 6 ms 512 KB
subtask01-12.txt AC 5 ms 512 KB
subtask01-13.txt AC 6 ms 512 KB
subtask01-14.txt AC 6 ms 384 KB
subtask01-15.txt AC 6 ms 512 KB