Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
贡献了无数次WA,最后一组测试数据到底是什么?#include<cstdio> #include<iostream> #include<cmath> #include<utility> using namespace std; int n,k; pair<int,int> table[100010]; void Solve(int t){ int i=0,j=1; int delta=-1,temp; int value,indexi,indexj; //为什么我把下面的注释掉就是AC,不注释就是WA?-____-|| /* delta=abs(table[1].first-table[0].first-t); value=table[1].first-table[0].first; indexi=0;indexj=1; */ while(j<n&&delta){ int cur=table[j].first-table[i].first; temp=abs(t-cur); if(delat==-1||temp<delta){ delta=temp; value=cur; indexi=table[i].second; indexj=table[j].second; } if(cur<t)j++; if(cur>t)i++; if(i==j)j++; } if(indexi<indexj) printf("%d %d %d\n",value,indexi+1,indexj); else printf("%d %d %d\n",value,indexj+1,indexi); } int main(){ while(scanf("%d %d",&n,&k)==2&&n&&k){ int i,vv; int sum=0; table[0].first=0;table[0].second=0; for(i=1;i<=n;i++){ scanf("%d",&vv); sum+=vv; table[i].first=sum; table[i].second=i; } n++; sort(table,table+n); int t; for(i=0;i<k;i++){ scanf("%d",&t); Solve(t); } } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator