zoukankan      html  css  js  c++  java
  • Eugeny and Array(思维)

    Eugeny has array a = a1, a2, ..., an, consisting of n integers. Each integer ai equals to -1, or to 1. Also, he has m queries:

    • Query number i is given as a pair of integers liri (1 ≤ li ≤ ri ≤ n).
    • The response to the query will be integer 1, if the elements of array a can be rearranged so as the sum ali + ali + 1 + ... + ari = 0, otherwise the response to the query will be integer 0.

    Help Eugeny, answer all his queries.

    Input

    The first line contains integers n and m (1 ≤ n, m ≤ 2·105). The second line contains n integers a1, a2, ..., an (ai = -1, 1). Next m lines contain Eugene's queries. The i-th line contains integers li, ri (1 ≤ li ≤ ri ≤ n).

    Output

    Print m integers — the responses to Eugene's queries in the order they occur in the input.

    Examples

    Input
    2 3
    1 -1
    1 1
    1 2
    2 2
    Output
    0
    1
    0
    Input
    5 5
    -1 1 1 1 -1
    1 1
    2 3
    3 5
    2 5
    1 5
    Output
    0
    1
    0
    1
    0
    题意:问这一组数重排后,能不能使区间[l,r]的和为0
    这题就在卡输入
    代码:
    #include<iostream>
    using namespace std;
    int main(){
        ios::sync_with_stdio(false);//c++加速语句 
        int n,m;
        cin>>n>>m;
        int cnt1=0,cnt2=0;
        while(n--){
            int a;
            cin>>a;
            if(a>0)  cnt1++;
            else cnt2++;
        }
        int minn=min(cnt1,cnt2);
        while(m--){
            int l,r;
            cin>>l>>r;
            if((r-l+1)%2==0&&(r-l+1)/2<=minn) cout<<"1"<<endl;
            else cout<<"0"<<endl;
        }
        return 0;
    } 
  • 相关阅读:
    VS2010插件及快捷键设置
    在Windows程序中启用console输出-2016.01.04
    使用VAssistX给文件和函数添加注释-2015.12.31
    windows在远程桌面连接中使用命令行参数
    windows网络编程-2015.12.29
    grep使用
    linux程序调试常用命令
    vim使用笔记
    infusion度量金字塔数据解释
    MVc Forms Membership rolemanage 角色权限验证管理
  • 原文地址:https://www.cnblogs.com/qdu-lkc/p/12192555.html
Copyright © 2011-2022 走看看