Codeforces Round #585 (Div. 2) A,B,C,D

题目链接:https://codeforces.com/contest/1215

                        题目:A

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<ctime>
 4 #include<cstring>
 5 #include<cstdlib>
 6 #include<cmath>
 7 #include<queue>
 8 #include<stack>
 9 #include<map> 
10 #include<algorithm>
11 #define Max(a,b) ((a)>(b)?(a):(b))
12 #define Min(a,b) ((a)<(b)?(a):(b))
13 #define Mem0(x) memset(x,0,sizeof(x))
14 #define Mem1(x) memset(x,-1,sizeof(x))
15 #define MemX(x) memset(x,0x3f,sizeof(x))
16 using namespace std;
17 typedef long long ll;
18 const int inf=0x3f3f3f;
19 const double pi=acos(-1.0);
20 
21 int main()
22 {
23     int a1,a2,k1,k2,n,min1=0,max2=0;
24     cin>>a1>>a2>>k1>>k2>>n; 
25     int p=a1*k1+a2*k2-a1-a2;
26     if (n>p){
27         min1=n-p;
28         if (min1>=a1+a2){
29             min1=a1+a2; 
30         }
31     }
32     if (k1<k2){//   保证第一队罚下一人的需要的黄牌更多 
33         int t;
34         t=k1;k1=k2;k2=t;
35         t=a1;a1=a2;a2=t;
36     }    
37     int tmp=n,temp=n/k2;
38     if (temp>=a2&&tmp>0){//全下 
39         tmp=tmp-k2*a2;
40         max2=max2+a2;
41         if (tmp>=k1){
42             temp=tmp/k1;
43             max2=max2+min(temp,a1);
44         } 
45     }
46     else if (temp<a2&&tmp>0){ //部分下 
47 
48         max2=max2+temp;
49     }
50     cout<<min1<<" "<<max2<<endl;
51     return 0;
52 }
                         题目:B

 

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<ctime>
 4 #include<cstring>
 5 #include<cstdlib>
 6 #include<cmath>
 7 #include<queue>
 8 #include<stack>
 9 #include<map> 
10 #include<algorithm>
11 #define Max(a,b) ((a)>(b)?(a):(b))
12 #define Min(a,b) ((a)<(b)?(a):(b))
13 #define Mem0(x) memset(x,0,sizeof(x))
14 #define Mem1(x) memset(x,-1,sizeof(x))
15 #define MemX(x) memset(x,0x3f,sizeof(x))
16 using namespace std;
17 typedef long long ll;
18 const int inf=0x3f3f3f;
19 const double pi=acos(-1.0);
20 
21 int main()
22 {
23     ll n,x,a=0,b=1,tmp=1;
24     scanf("%lld",&n);
25     for (ll i=1;i<=n;i++){
26         scanf("%lld",&x);
27         if (x<0)
28             tmp*=-1;
29         if (tmp<0)
30             a++;
31         else
32             b++;
33     }
34     printf("%lld %lld\n",a*b,(n+1)*n/2-a*b);
35     return 0;
36 }

猜你喜欢

转载自www.cnblogs.com/q1204675546/p/11567879.html