Codeforces #333
用了pow,中招了……;
#includeusing namespace std;typedef long long ll;#define inf 0x3f3f3f3f3fint n,m;int c,e,x;int main(){ scanf("%d%d",&n,&m); for(int i=1; i<=n; i++) { scanf("%d",&x); c*=m; c+=x; } scanf("%d%d",&n,&m); for(int i=1; i<=n; i++) { scanf("%d",&x); e*=m; e+=x; } if(c==e) printf("+\n"); else if(c>e) printf(">\n"); else printf("<\n"); return 0;}
不知道为什么第一种写法不超时,第二种超时
//ac代码#includeusing namespace std;typedef long long ll;#define inf 0x3f3f3f3f3fint n,a[100010];int b;int main(){ while(scanf("%d",&n)!=EOF) { for(int i=1; i<=n; i++) scanf("%d",&a[i]); int ans=2; int i,j; for(i=1; i<=n; i++) { int mm=a[i]; int xx=a[i]; for(j=i+1; j<=n; j++) { if(a[j]>mm) mm=a[j]; else if(a[j] 1) { break; } } b=j-i; ans=max(ans,b); if(ans==n-i+1) break; } printf("%d\n",ans); } return 0;}
//TE代码#includeusing namespace std;typedef long long ll;#define inf 0x3f3f3f3f3fint n,a[100010];int b;int main(){ while(scanf("%d",&n)!=EOF) { for(int i=1; i<=n; i++) { scanf("%d",&a[i]); } int ans=0; int i,j; for(i=1; i<=n; i++) { int mm=a[i]; int xx=a[i]; for(j=i+1; j<=n; j++) { if(abs(mm-a[j])<=1 && abs(xx-a[j])<=1) { mm=min(mm,a[j]); xx=max(xx,a[j]); } else break; } b=j-i; ans=max(ans,b); if(ans==n-i+1) break; } printf("%d\n",ans); } return 0;}