Submission

Status:

PPPPPPPPPPPPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: mik

Problemset: ปฏิทินวันแม่

Language: cpp

Time: 0.004 second

Submitted On: 2026-10-10 18:29:38

#include <bits/stdc++.h>

using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    
    // จำนวนวันในแต่ละเดือน (เดือน 1 ถึง 12)
    int days_in_month[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    
    // สร้างตารางผลรวมสะสมของวันตั้งแต่เดือนมกราคม
    int pref[13] = {0};
    for (int i = 1; i <= 12; i++) {
        pref[i] = pref[i - 1] + days_in_month[i];
    }
    
    int m, d;
    if (!(cin >> m >> d)) return 0;
    
    // หาลำดับวันที่ของวันที่ 1 เดือน m นับจากวันแรกของปี
    int day_m = pref[m - 1] + 1;
    
    // หาลำดับวันที่ของวันที่ 12 สิงหาคม นับจากวันแรกของปี (สิงหาคมคือเดือนที่ 8)
    int day_aug12 = pref[7] + 12;
    
    // หาระยะห่างของวันทั้งหมด
    int delta = day_aug12 - day_m;
    
    // คำนวณหาว่าตรงกับวันอะไรในสัปดาห์ (1-7)
    int ans = (d - 1 + delta) % 7;
    while (ans < 0) ans += 7; // ป้องกันกรณีติดลบ (กรณีเดือนอยู่หลังสิงหาคม)
    ans += 1;
    
    cout << ans << "\n";
    
    return 0;
}