Submission

Status:

[PPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: KurtCobain

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

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-03 14:22:57

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


int main(){
  string c;
  int id_card[16] = {-1};
  string to_plus = "";
  cin >> c;
  // Flip
  for (int i=0;i<16;i++){
    int d = c[i] - '0';
    id_card[15-i] = d;
  }
  int checksum = id_card[0];
  id_card[0] = 0;
  for (int j=1;j<16;j+=2){
    id_card[j]*=2;
  }
  for (int h : id_card){
    to_plus+=to_string(h);
  }
  long long answer = 0;
  for (char u : to_plus){
    int k = u - '0';
    answer += k;
  }
  long long to_check = (10 - (answer % 10)) % 10;
  if (checksum == to_check){
    cout << "yes\n";
  }
  else{
    cout << "no\n";
  }

}