Submission

Status:

[P-SSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: whysosirius

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

Language: cpp

Time: 0.004 second

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

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

int main(){
    string s; cin >> s;
    reverse(s.begin(),s.end());
    vector<int> nums;
    int last;
    for(int i=0;i<s.length();i++){
        if(i==s.length()-1) last = s[i]-'0';
        nums.push_back(s[i]-'0');
    }
    nums.pop_back();
    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;
}