标记条件Codeforces Round #182 (Div. 2)

上班之余抽点时光出来写写博文,希望对新接触的朋友有帮助。天今在这里和大家一起学习一下标记条件

    每日一道理
父亲对于儿子来说,是座耸立的高山,而儿子只是颗石子,源于山,却并不了解山。生活中诸多爱的密码,是需用细节来解读的,在亲情的沃土上,要想搞得最美的果实,惟有期待那存在于瞬间的心与心的共鸣,爱与爱的默契。
//A  好久没做了,5.1一过睡房不熄灯了,天今做了一场还是只做了2题。 弱。
#include<iostream>
#include<stdio.h>
using namespace std;
int a[200005],b[200005];
int main()
{
    // freopen("1.txt","r",stdin);
    int n,m,numx=0,numy=0,x,y;
    cin>>n>>m;
    for(int i=0; i<n; i++)
    {
        cin>>a[i];
        if(a[i]==1)
            numx++;
        else  numy++;
    }
    for(int j=0; j<m; j++)
    {
        cin>>x>>y;
        if((y-x)%2!=0&&(y-x+1)<=2*min(numx,numy))     // 满意这个条件才出输1
            cout<<1<<endl;
        else
            cout<<0<<endl;
    }
    return 0;
}

//B  
#include<iostream>
#include<stdio.h>
#include<cstring>
using namespace std;
int v[100005],c[100005],t[100005],sum[100005];
int main()
{
    //freopen("1.txt","r",stdin);
    memset(sum,0,sizeof(sum));
    int n,m;
    cin>>n>>m;
    cin>>c[0]>>t[0];
    sum[0]=c[0]*t[0];
    for(int i=1; i<n; i++)
    {
        cin>>c[i]>>t[i];
        sum[i]=c[i]*t[i]+sum[i-1];
    }
    for(int j=0; j<m; j++)
        cin>>v[j];
    int k=0;
    for(int j=0; j<m; j++)
    for(int i=k; i<n; i++)  // 第一次TLE了,这里标记一下从次上的i开始节省了时光。
     if(v[j]<=sum[i])
       {
         cout<<i+1<<endl;
         k=i;
         break;
       }
    return 0;
}

文章结束给大家分享下程序员的一些笑话语录: 程序员打油诗   
  写字楼里写字间,写字间里程序员;
  程序人员写程序,又拿程序换酒钱。
  酒醒只在网上坐,酒醉还来网下眠;
  酒醉酒醒日复日,网上网下年复年。
  但愿老死电脑间,不愿鞠躬老板前;
  奔驰宝马贵者趣,公交自行程序员。
  别人笑我忒疯癫,我笑自己命太贱;
  不见满街漂亮妹,哪个归得程序员。

posted @ 2013-05-06 20:23  坚固66  阅读(169)  评论(0编辑  收藏  举报