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;
}