首页 > 代码库 > codeforces round #264(div2)
codeforces round #264(div2)
A题 我只想说题意很坑,一不小心就会wa,哎,不机智的我竟然在最后判题的过程中错了,少加一个判断语句。错的值了,你说呢?
#include<map> #include<cmath> #include<queue> #include<vector> #include<cstdio> #include<string> #include<cstring> #include<iostream> #include<algorithm> #define pi acos(-1.0) #define inf 0xfffffff #define maxn 5000 using namespace std; int m,n; struct node { int u; int v; } a[maxn]; int main() { scanf("%d%d",&m,&n); int flag=0; int sum=0; for(int i=1;i<=m;i++) { scanf("%d%d",&a[i].u,&a[i].v); if(a[i].u<n) flag=1; if(a[i].u==n&&a[i].v==0) flag=1; a[i].v=100-a[i].v; if(a[i].u<n||(a[i].u==n&&a[i].v==0)) if(a[i].v!=100) sum=max(sum,a[i].v); } if(flag==0) cout<<"-1"<<endl; else cout<<sum<<endl; return 0; }B题,找出在这个过程中最大的那个负数,然后取绝对值就行了。
#include<map> #include<cmath> #include<queue> #include<vector> #include<cstdio> #include<string> #include<cstring> #include<iostream> #include<algorithm> #define pi acos(-1.0) #define inf 0xfffffff #define maxn 500000 using namespace std; int n; __int64 a[maxn]; int main() { int n; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%I64d",&a[i]); a[0]=0; __int64 sum=0; __int64 maa=maxn*100; for(int i=1;i<=n;i++) { sum=a[i-1]-a[i]; maa=min(maa,sum); a[i]+=sum; // cout<<sum<<" "<<a[i]<<endl; } if(maa<0) maa*=-1; cout<<maa<<endl; return 0; }
codeforces round #264(div2)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。