/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 396.0 KiB
#3 Accepted 2ms 508.0 KiB
#4 Accepted 2ms 400.0 KiB
#5 Accepted 2ms 320.0 KiB
#6 Accepted 2ms 532.0 KiB
#7 Accepted 1ms 532.0 KiB

Code

#include <bits/stdc++.h>
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define pb push_back
#define ll long long int
#define yes cout<<"YES\n"
#define no cout<<"NO\n"
#define mx_ele(v) *max_element(v.begin(),v.end())
#define mnm_ele(v) *min_element(v.begin(),v.end())
#define endl "\n"
using namespace std;

void smile()
{
    int N;
    cin >> N;
    vector<int> arr(N);
    int sum = 0;
    for (int i = 0; i < N; i++) {
        cin >> arr[i];
        sum += arr[i];
    }
    int remainder = sum % 3;
    int result = 0;
    if (remainder == 1) {
        for (int i = 0; i < N; i++) {
            if (arr[i] % 3 == 1) {
                result = N - 1;
                break;
            }
        }
        if (result == 0) {
            int count = 0;
            for (int i = 0; i < N; i++) {
                if (arr[i] % 3 == 2) {
                    count++;
                }
                if (count == 2) {
                    result = N - 2;
                    break;
                }
            }
        }
    } else if (remainder == 2) {

        for (int i = 0; i < N; i++) {
            if (arr[i] % 3 == 2) {
                result = N - 1;
                break;
            }
        }
        if (result == 0) {
            int count = 0;
            for (int i = 0; i < N; i++) {
                if (arr[i] % 3 == 1) {
                    count++;
                }
                if (count == 2) {
                    result = N - 2;
                    break;
                }
            }
        }
    } else
    {
        result = N;
    }
    cout << result << endl;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int T = 1;
    cin >> T;
    while (T--)
    {
        smile();
    }
}

Information

Submit By
Type
Submission
Problem
P1013 Divisible by 3
Contest
Brain booster - 1
Language
C++17 (G++ 13.2.0)
Submit At
2023-12-31 17:07:33
Judged At
2024-10-03 14:04:18
Judged By
Score
100
Total Time
2ms
Peak Memory
532.0 KiB