Submission

Status:

[PPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: Quaoar

Problemset: ตรวจบัตรเครดิต

Language: cpp

Time: 0.003 second

Submitted On: 2025-09-23 16:09:01

#include <iostream>
#include <string>
using namespace std;

int main(){
    int nums[15] = {};
    int cnt = 0;
    int a = 0 , sum = 0;
    string input;

    cin >> input;
    int r = input[15] - '0';

    for (int i  = 0 ; i < 15 ; i++){
        nums[i] = input[14 - i] - '0';
    }

    for (int i = 0 ; i < 15 ; i++){
        if (i % 2 == 0){
            nums[i] = nums[i] * 2;
        }
    }
    
    for (int i = 0 ; i < 15 ; i++){
        if (nums[i] >= 10){
            cnt++;
        }
    }
    int out[15 + cnt] = {};

    for (int i = 0 ; i < 15 ; i++){
        if (nums[i] >= 10){
            out[i + a] = 1;
            out[i + 1 + a] = nums[i] % 10;
            a++;
        } else {
            out[i + a] = nums[i];
        }
    }

    for (int i = 0 ; i < 15 + cnt ; i++){
        sum += out[i];
    }

 
    if ((10 - (sum % 10)) % 10 == r){
        cout << "yes";
    } else {
        cout << "no";
    }
    return 0;
}