题解 | #涂颜料#

涂颜料

https://www.nowcoder.com/practice/4ef038ae1c5f4524b8a8a0c1e6b062a1

// 模拟一定会超时!
#include <bits/stdc++.h> 

using namespace std;
const int max_len = 1e6+10;

int pre[max_len];

int n,q;

int main(){
    cin >> n >> q;
    
    while(q--){
        int l,r;
        cin >> l >> r;
        pre[l]++;
        pre[r+1]--;
    }
    
    for(int i = 1; i <= n; i++) pre[i] += pre[i-1]; // 通过求差分数组额前缀和获得每个元素应该的值!
    
    for(int i = 1; i <= n; i++){
        if(pre[i] == 0){
            putchar('O');
        }else {
            if(pre[i] % 3 == 1) putchar('R');
            else if(pre[i] % 3 == 2) putchar('G');
            else putchar('B');
        }
    }
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 12:19
点赞 评论 收藏
分享
11-24 11:23
门头沟学院 C++
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务