CF 732D

原创 2018年04月16日 00:23:22

题目:

一堆考试,每个考试有复习时间,考试当天不能复习,考试有特定的时间,每门考试需要一个时间复习,求复习完并考试完的最小时间,否则输出-1 。

题解:

二分时间判断是否可行。

每次选择每场考试的最后一个时间,从最小的最后时间开始依次判断是否能复习完。

已经可以渐渐刷D了呢 :D   手感好像有所恢复诶

明天挑战一下E?

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;

struct S{
    int bit,last;
}s[101000];

int arr[101000];
int prepare[101000];

int n,m;

bool cmp(S a,S b){
    return a.last<b.last;
}

bool cant(int x){
    for(int i=1;i<=m;i++){
        s[i].bit=i;
        s[i].last=0;
    }
    for(int i=0;i<x;i++){
        s[arr[i]].last=max(s[arr[i]].last,i+1);
    }
    sort(s+1,s+m+1,cmp);
    int ret=0;
    for(int i=1;i<=m;i++){
        ret+=prepare[s[i].bit];
        if(ret+i-1>=s[i].last) return true;
    }
    return false;
}

int main(){
    cin>>n>>m;
    for(int i=0;i<n;i++){
        cin>>arr[i];
    }
    for(int i=1;i<=m;i++){
        cin>>prepare[i];
    }
    int low=0;
    int high=n;
    while(high-low>1){
        int mid=(low+high)/2;
        if(cant(mid)) low=mid;
        else high=mid;
    }
    if(cant(low+1)) cout<<-1<<endl;
    else cout<<low+1<<endl;
}

VFP 6.0的十个实用技巧

朱运喜(河北省.任丘市)---- 一.选择网络打印机 ---- 笔者单位里的局域网上安装有多台网络打印机,在使用VFP 6.0编制的程序进行打印操作时,是否可以选择其中的某一台空闲的网络打印机进行打印...
  • nm
  • nm
  • 2000-08-14 09:11:00
  • 2680

codeforces 732D Exams 二分搜索 贪心

D. Exams time limit per test 1 second memory limit per test 256 megabytes input standard input...
  • kyoma
  • kyoma
  • 2016-10-19 01:48:05
  • 449

codeforces 732D Exams

题目连接:http://codeforces.com/problemset/problem/732/D 题意:n天,m个考试,n天中的每一天,0代表该天不能考试,其他表示能考哪一门试。m个考...
  • Strokess
  • Strokess
  • 2016-10-18 18:30:08
  • 430

Codeforces732D Exams

D. Exams time limit per test 1 second memory limit per test 256 megabytes input st...
  • overload1997
  • overload1997
  • 2016-10-25 13:54:35
  • 269

codeforces-732D-Exams(二分)

D. Exams time limit per test 1 second memory limit per test 256 megabytes input standard input...
  • haut_ykc
  • haut_ykc
  • 2016-10-18 08:09:15
  • 824

【打CF,学算法】CodeForces网站简介

转自豆瓣:https://www.douban.com/review/5800694/ 你应当知道的关于Codeforces的事情 关于codeforces的文字 ...
  • David_Jett
  • David_Jett
  • 2016-07-12 10:11:43
  • 2146

易语言模块易语言模块

  • 2010年08月14日 23:20
  • 529KB
  • 下载

CF与OF有什么区别?

 = 问题 =   CF与OF有什么区别?  -----------------------------------------------------------------------------...
  • w9521423
  • w9521423
  • 2006-10-02 23:07:00
  • 3692

分清iOS中的OC和CF概念

在iOS世界,主要有两种对象:Objective-C 对象和 Core Foundation 对象。Core Foundation 对象主要是由C语言实现的 Core Foundation Frame...
  • weichuang_1
  • weichuang_1
  • 2015-12-05 00:03:12
  • 886

CF点充值CF点充值CF点充值CF点充值

  • 2011年03月23日 17:41
  • 674KB
  • 下载
收藏助手
不良信息举报
您举报文章:CF 732D
举报原因:
原因补充:

(最多只允许输入30个字)