Codeforces Round #616 (Div. 2)

A.Even But Not Even

题意:给你一个很长的数,可以删减里面的任意数字,要求本身不能除以2,但是该数的各位和能除以2,输出任意符合要求的删减过后的数

思路:找出两个奇数即可,奇数的拼凑本身就是奇数,但是和就是偶数,就满足要求了。。竟然wa了两发,,-1没有换行。。。

1 1 #include <bits/stdc++.h> 2 2 using namespace std; 3 3 typedef long long ll; 4 4 const int maxn = 1e5; 5 5 6 6 int main(){ 7 7 int T; 8 8 scanf("%d",&T); 9 9 while(T--) 1010 { 1111 int n; 1212 scanf("%d",&n); 1313 string s; 1414 cin>>s; 1515 if(n==1) { 1616 printf("-1\n"); 1717 continue; 1818 } 1919 int sum=0; 2020 int a[100]; 2121 for(int i=0;i<n;i++) 2222 { 2323 if((s[i]-'0')%2!=0) 2424 { 2525 // printf("%d\n",s[i]-'0'); 2626 a[sum++]=s[i]-'0'; 2727 if(sum==2) 2828 break; 2929 } 3030 } 3131 if(sum==2) 3232 { 3333 for(int i=0;i<sum;i++) 3434 { 3535 printf("%d",a[i]); 3636 } 3737 printf("\n"); 3838 } 3939 else 4040 printf("-1\n"); 4141 } 4242 return 0; 4343 }

B - Array Sharpening

题意:给你一个序列a[],要求你找出k使得k位置之前是严格单调递增,k之后是严格单调递减,你可以任意删减>0的数,对他减一任意次,问是否这个序列有这样的K

思路:对于K左边的要求a[i]>i-1即可,当不满足时,此时的i就是k,K后面的a[i]=min(a[i-1]-1,a[i]),这样一直减下去,判断最后一个数是否>0即可,当一直满足a[i]>i-1时,那么这个序列就可以通过删减变成严格单调递增序列,也是满足条件的的

1 1 #include <bits/stdc++.h> 2 2 using namespace std; 3 3 typedef long long ll; 4 4 const int maxn = 3e5+10; 5 5 6 6 int main(){ 7 7 int T; 8 8 scanf("%d",&T); 9 9 while(T--) 1010 { 1111 int n; 1212 scanf("%d",&n); 1313 long long a[maxn]; 1414 for(int i=0;i<n;i++) 1515 cin>>a[i]; 1616 int k=0; 1717 bool flag=true; 1818 for(int i=0;i<n;i++) 1919 { 2020 if(a[i]<=i-1) 2121 { 2222 flag=false; 2323 k=i; 2424 break; 2525 } 2626 } 2727 if(n==1||flag) 2828 printf("Yes\n"); 2929 else 3030 { 3131 int j=0; 3232 for(int i=k;i<n;i++) 3333 { 3434 a[i]=min(a[i-1]-1,a[i]); 3535 } 3636 if(a[n-1]>=0) 3737 printf("Yes\n"); 3838 else 3939 printf("No\n"); 4040 } 4141 } 4242 return 0; 4343 }
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang