输入输出666

链接:https://ac.nowcoder.com/acm/problem/222524
来源:牛客网
 

题目描述

你有一条长度为n的一维直线,我们可以用区间[1,n]来表示。直线一开始是白色的,你想给这条直线染色,
染色是有要求的,你有m个限制,第i个限制有两个数Li,RiL_i,R_iLi​,Ri​,表示直线上[Li,Ri][L_i,R_i][Li​,Ri​] 这个区间必须是黑色的;
剩下的没有被限制包含的区间必须是白色的;
直线上有K个点,你每次可以选择两个点(设它们位于位置x和位置y),将这两点之间的区间的颜色改变,也就是黑色变白色,白色变黑色,代价是这个区间的大小,即|x-y|;
你想知道在满足限制的条件下,最小的染色代价是多少。

输入描述:

第一行,三个正整数n,m,K (1≤n,m,K≤100000)n,m,K\ (1 \leq n,m,K \leq 100000)n,m,K (1≤n,m,K≤100000) ,分别表示直线长度、限制个数和点的个数。
接下来m行,每行两个正整数,表示Li,Ri (1≤Li≤Ri≤n)L_i,R_i\  (1 \leq L_i \leq R_i \leq n)Li​,Ri​ (1≤Li​≤Ri​≤n)。
最后一行,K个正整数,第i个表示第i个点的位置ai (1≤ai≤n)a_i\ (1\leq a_i \leq n)ai​ (1≤ai​≤n)。
保证m个限制区间两两互不相交,且一定存在至少一种合法的染色方案满足限制

输出描述:

总共一行,一个整数,表示满足限制的条件下,最小的染色代价是多少。

示例1

输入

复制10 3 9 2 4 6 8 9 10 1 2 3 4 6 7 8 9 10

10 3 9
2 4
6 8
9 10
1 2 3 4 6 7 8 9 10

输出

复制5

5
#include <bits/stdc++.h>
using namespace std;

const int maxl=1e5+5;
int n,m,K,L[maxl],R[maxl];
int main()
{
	scanf("%d%d%d",&n,&m,&K);
	for(int i=1;i<=m;++i){
		scanf("%d%d",&L[i],&R[i]);
	}
	int a;
	for(int i=1;i<=K;i++)
        cin>>a;
	int ans=0;
	for(int i=1;i<=m;++i){
		ans+=R[i]-L[i];
	}
	cout<<ans;
	return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 当使用printf函数输出内容到屏幕时,内容实际上是先被写入了缓冲区,当缓冲区满了之后才会将内容一次输出到屏幕上。这种做法是为了提高效率,减少从用户态切换到内核态的数。所以当printf输出内容较少时,可能会出现内容闪烁的情况,因为缓冲区的内容很快就被输出到屏幕上,并且缓冲区被清空。如果你希望内容在屏幕上停留一段时间,可以在程序中加入适当的延时或者等待用户的输入操作。例如,在C语言中,可以使用system("pause")函数来暂停程序的执行,等待用户按下任意键后再继续执行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [82-Linux下printf函数的输出问题](https://blog.csdn.net/LINZEYU666/article/details/111143780)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [用VS2010编写C程序时,最后的输出语句只是屏幕闪了一下,屏幕没有结果,解决方法](https://blog.csdn.net/hxBuNuLiDeHaiZhi/article/details/44659871)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值