NYOJ 847 S + T
生活随笔
收集整理的這篇文章主要介紹了
NYOJ 847 S + T
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
S + T
時間限制:1000?ms ?|? 內存限制:65535?KB 難度:2 描述? ?給你一個長度為n的整數序列A1,A2,……,An,找出兩個整數Ai和Aj(i<j),使得Ai-Aj盡量大。
輸入如果你認為數據太大,則本OJ推薦使用long long
AC碼:
#include<stdio.h> struct node {long long m;long long c; }min[100005]; long long num[100005]; int main() {long long n,T,i,max,x,y;scanf("%lld",&T);while(T--){scanf("%lld",&n);for(i=1;i<=n;i++)scanf("%lld",&num[i]);min[n].m=num[n];min[n].c=n;for(i=n-1;i>=1;i--){if(num[i]<=min[i+1].m) // 這錯了一次,沒寫={min[i].m=num[i];min[i].c=i;}else{min[i].m=min[i+1].m;min[i].c=min[i+1].c;}}max=-200000; // 這錯了一次,賦了0x=0;y=0;for(i=1;i<n;i++){if(num[i]-min[i+1].m>max){max=num[i]-min[i+1].m;x=i;y=min[i+1].c;}}printf("%lld %lld %lld\n",max,x,y);}return 0; }總結
以上是生活随笔為你收集整理的NYOJ 847 S + T的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NYOJ 665 台球碰撞
- 下一篇: jeecgboot logback-s