Problem: 2050C - Uninteresting Number
Language: C++23 (GCC 14-64, msys2)

Previous submission (verdict: Wrong answer on test 1):
// #include<bits/stdc++.h>
// using namespace std;
// typedef long long ll;
// int main(){
//     ll t;
//     cin >> t;
//     while(t--){
//         string s;
//         cin >> s;
//         ll sum=0;
//         ll f2=0,f3=0;
//         for(int i=0;i<s.size();i++){
//             sum+=(ll)s[i]-'0';
//             if(s[i]=='2'){
//                 f2++;
//             }
//             else if(s[i]=='3'){
//                 f3++;
//             }
//         }
//         if(sum%9==0){
//             cout << "YES" << "\n";
//             continue;
//         }
//         else{
//             if(f2==0 && f3==0){
//                 cout << "NO" << "\n";
//                 continue;
//             }
//             if(f2==0){
//                 if(sum%3==0){
//                     if((sum+6)%9==0){
//                         cout << "YES" << "\n";
//                         continue;
//                     }
//                     else if(f3>1 && (sum+3)%9==0){
//                         cout << "YES" << "\n";
//                         continue;
//                     }
//                 }
//                 else{
//                     cout << "NO" << "\n";
//                     continue;
//                 }
//             }
//             ll minc=(ll)2*f2 + (ll)6*f3;
//             ll p=(ll)((sum/9)+1)*9;
//             vector<ll> req;
//             while((p-sum)<=minc){
//                 if(sum%2==0 && p%2==0){
//                     req.push_back(p-sum);
//                 }
//                 else if(sum%2!=0 && p%2!=0){
//                     req.push_back(p-sum);
//                 }
//                 p+=(ll)9;
//             }
//             if(req.size()==0){
//                 cout << "NO" << "\n";
//                 continue;
//             }
//             ll gh=0;
//             for(int i=0;i<req.size();i++){
//                 for(int j=0;j<=f3;j++){
//                     if((req[i]-(ll)j*6)%2==0 && (req[i]-(ll)j*6)/2>=0 && (req[i]-(ll)j*6)/2<=f2){
//                         gh++;
//                         break;
//                     }
//                 }
//                 if(gh>0){
//                     break;
//                 }
//             }
//             if(gh>0){
//                 cout << "YES" << "\n";
//             }     
//             else{
//                 cout << "NO" << "\n";
//             }
//         }
//     }
//     return 0;
// }
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
    ll t;
    cin >> t;
    while(t--){
        string s;
        cin >> s;
        ll sum=0;
        ll f2=0,f3=0;
        for(int i=0;i<s.size();i++){
            sum+=(ll)s[i]-'0';
            if(s[i]=='2'){
                f2++;
            }
            else if(s[i]=='3'){
                f3++;
            }
        }
        if(sum%9==0){
            cout << "YES" << "\n";
            continue;
        }
        cout << f2 << " " << f3 << "\n";
        if(f2==0 && f3==0){
            cout << "NO" << "\n";
            continue;
        }
        else if(f2==0){
            if(sum%3==0){
                if(f3==1 && (sum+6)%9==0){
                    cout << "YES" << "\n";
                    continue;
                }
                else if(f3>1){
                    cout << "YES" << "\n";
                    continue;
                }
                else{
                    cout << "NO" << "\n";
                    continue;
                }
            }
            else{
                cout << "NO" << "\n";
                continue;
            }
        }
        else if(f3==0){
            int g=0;
            for(int i=1;i<=min(f2,(ll)10);i++){
                if((sum+i*2)%9==0){
                    g++;
                    break;
                }
            }
            if(g>0){
                cout << "YES" << "\n";
                continue;
            }
            else{
                cout << "NO" << "\n";
                continue;
            }
        }
        else{
            int req=0;
            if(f3==1){req=1;}
            else{req=2;}
            int g=0;
            for(int k=0;k<=req;k++){
                for(int i=0;i<=min(f2,(ll)10);i++){
                    if((sum+i*2+k*6)%9==0){
                        g++;
                        break;
                    }
                }
                if(g>0){break;}
            }
            if(g>0){
                cout << "YES" << "\n";
                continue;
            }
            else{
                cout << "NO" << "\n";
                continue;
            }
            
        }
            
    }
}


Submission (verdict: Accepted):
// #include<bits/stdc++.h>
// using namespace std;
// typedef long long ll;
// int main(){
//     ll t;
//     cin >> t;
//     while(t--){
//         string s;
//         cin >> s;
//         ll sum=0;
//         ll f2=0,f3=0;
//         for(int i=0;i<s.size();i++){
//             sum+=(ll)s[i]-'0';
//             if(s[i]=='2'){
//                 f2++;
//             }
//             else if(s[i]=='3'){
//                 f3++;
//             }
//         }
//         if(sum%9==0){
//             cout << "YES" << "\n";
//             continue;
//         }
//         else{
//             if(f2==0 && f3==0){
//                 cout << "NO" << "\n";
//                 continue;
//             }
//             if(f2==0){
//                 if(sum%3==0){
//                     if((sum+6)%9==0){
//                         cout << "YES" << "\n";
//                         continue;
//                     }
//                     else if(f3>1 && (sum+3)%9==0){
//                         cout << "YES" << "\n";
//                         continue;
//                     }
//                 }
//                 else{
//                     cout << "NO" << "\n";
//                     continue;
//                 }
//             }
//             ll minc=(ll)2*f2 + (ll)6*f3;
//             ll p=(ll)((sum/9)+1)*9;
//             vector<ll> req;
//             while((p-sum)<=minc){
//                 if(sum%2==0 && p%2==0){
//                     req.push_back(p-sum);
//                 }
//                 else if(sum%2!=0 && p%2!=0){
//                     req.push_back(p-sum);
//                 }
//                 p+=(ll)9;
//             }
//             if(req.size()==0){
//                 cout << "NO" << "\n";
//                 continue;
//             }
//             ll gh=0;
//             for(int i=0;i<req.size();i++){
//                 for(int j=0;j<=f3;j++){
//                     if((req[i]-(ll)j*6)%2==0 && (req[i]-(ll)j*6)/2>=0 && (req[i]-(ll)j*6)/2<=f2){
//                         gh++;
//                         break;
//                     }
//                 }
//                 if(gh>0){
//                     break;
//                 }
//             }
//             if(gh>0){
//                 cout << "YES" << "\n";
//             }     
//             else{
//                 cout << "NO" << "\n";
//             }
//         }
//     }
//     return 0;
// }
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
    ll t;
    cin >> t;
    while(t--){
        string s;
        cin >> s;
        ll sum=0;
        ll f2=0,f3=0;
        for(int i=0;i<s.size();i++){
            sum+=(ll)s[i]-'0';
            if(s[i]=='2'){
                f2++;
            }
            else if(s[i]=='3'){
                f3++;
            }
        }
        if(sum%9==0){
            cout << "YES" << "\n";
            continue;
        }
        if(f2==0 && f3==0){
            cout << "NO" << "\n";
            continue;
        }
        else if(f2==0){
            if(sum%3==0){
                if(f3==1 && (sum+6)%9==0){
                    cout << "YES" << "\n";
                    continue;
                }
                else if(f3>1){
                    cout << "YES" << "\n";
                    continue;
                }
                else{
                    cout << "NO" << "\n";
                    continue;
                }
            }
            else{
                cout << "NO" << "\n";
                continue;
            }
        }
        else if(f3==0){
            int g=0;
            for(int i=1;i<=min(f2,(ll)10);i++){
                if((sum+i*2)%9==0){
                    g++;
                    break;
                }
            }
            if(g>0){
                cout << "YES" << "\n";
                continue;
            }
            else{
                cout << "NO" << "\n";
                continue;
            }
        }
        else{
            int req=0;
            if(f3==1){req=1;}
            else{req=2;}
            int g=0;
            for(int k=0;k<=req;k++){
                for(int i=0;i<=min(f2,(ll)10);i++){
                    if((sum+i*2+k*6)%9==0){
                        g++;
                        break;
                    }
                }
                if(g>0){break;}
            }
            if(g>0){
                cout << "YES" << "\n";
                continue;
            }
            else{
                cout << "NO" << "\n";
                continue;
            }
            
        }
            
    }
}