切了一波水题
A 水
#include <iostream> #include <algorithm> #include <stdio.h> using namespace std; int main() { int n,c,p[55],t[55]; int sum1=0,sum2=0; scanf("%d%d",&n,&c); for(int i=0;i<n;i++) scanf("%d",&p[i]); for(int i=0;i<n;i++) scanf("%d",&t[i]); int tie=0; for(int i=0;i<n;i++) { tie+=t[i]; sum1+=max(0,p[i]-tie*c); } tie=0; for(int i=n-1;i>=0;i--) { tie+=t[i]; sum2+=max(0,p[i]-tie*c); } if(sum1>sum2) printf("Limak\n"); else if(sum1<sum2) printf("Radewoosh\n"); else printf("Tie\n"); return 0; }
#include <iostream> #include <stdio.h> #include <algorithm> #include <string.h> using namespace std; int t[150005]; int dy[10]; int main() { int n,q,k; scanf("%d%d%d",&n,&k,&q); for(int i=1;i<=n;i++) scanf("%d",&t[i]); int a,b; int j=0; while(q--) { scanf("%d%d",&a,&b); if(a==1) { if(j<k) { dy[j++]=t[b]; } else { sort(dy,dy+k); if(t[b]>dy[0]) dy[0]=t[b]; } } else { int l; for(l=0;l<k;l++) if(dy[l]==t[b]) { printf("YES\n"); break; } if(l==k) printf("NO\n"); } } return 0; }C 很容易漏情况,要细心
#include <iostream> #include <stdio.h> using namespace std; int main() { int n,d,h; scanf("%d%d%d",&n,&d,&h); if( d > n-1 || d<h || d>2*h || d==1 && n>2) { printf("-1\n"); return 0; } int i=1; for(int j=0;j<h;j++) { printf("%d %d\n",i,i+1); i++; } i++; d-=h; if(!d) { for(i;i<=n;i++) printf("2 %d\n",i); return 0; } if(d) { printf("1 %d\n",i); d--; } while(d--) { printf("%d %d\n",i,i+1); i++; } i++; for(i;i<=n;i++) { printf("1 %d\n",i); } return 0; }