Submission

Status:

[PPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: whysosirius

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

Language: cpp

Time: 0.004 second

Submitted On: 2026-10-11 14:51:26

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

int main(){
    string s; cin >> s;
    vector<int> nums;
    for(int i=0;i<s.length();i++){
        nums.push_back(s[i]-'0');
    }
    int last = nums[nums.size()-1];
    nums.pop_back();
    reverse(nums.begin(),nums.end());
    for(int i=0;i<nums.size();i++){
        if(i%2==0) nums[i]*=2;
    }
    for(int i=0;i<nums.size();i++){
        if(nums[i]>=10){
            int newnum = nums[i]%10 + nums[i]/10;
            nums.erase(nums.begin()+i);
            nums.insert(nums.begin()+i,newnum);
        }
    }
    int sum=0;
    for(int i=0;i<nums.size();i++) sum+=nums[i];
    int expected = (10-sum%10)%10;
    if(last==expected) cout << "yes";
    else cout << "no";
    
    //for(int num : nums) cout << num << " ";
    return 0;
}