Silver: Breed Counting

[P6180 USACO15DEC] Breed Counting S - 洛谷 | 计算机科学教育新生态

简单题,康复训练了。只要开 ​ 3 个数组分别记前缀和就好。顺便一提这个 competitest.nvim 真好用xeluxee/competitest.nvim

代码:

/*
 * Created by: Friedforks
 * Date: 2024-11-11
 */
#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, q;
    cin >> n >> q;
    vector<vector<int>> cow(4, vector<int>(n + 1)); // Cow 1,2,3
    int tmp_in;
    for (int i = 1; i <= n; i++) {
        cin >> tmp_in;
        // keep in track of status for every cow
        for (int j = 1; j < 4; j++) {
            cow[j][i] = cow[j][i - 1];
        }
        cow[tmp_in][i]++;
    }

    int q1, q2;
    while (q--) {
        cin >> q1 >> q2;
        cout << cow[1][q2] - cow[1][q1 - 1] << " "
             << cow[2][q2] - cow[2][q1 - 1] << " "
             << cow[3][q2] - cow[3][q1 - 1];
        if (q != 0)
            cout << endl;
    }
    return 0;
}