首页 > 代码库 > POJ-1247
POJ-1247
#include<iostream> #include<vector> using namespace std; /** * return: * -1:can not find; * positive:find the first position; */ int findPosition(vector<int> v,int size, int requestHalfSum){ int sum=0; for(int i=0;i<size;i++){ sum+=v[i]; if(sum>requestHalfSum){ return -1; }else if(sum==requestHalfSum){ return i+1; } } return -1; } int main(int argc, char *argv[]){ int n; while(cin>>n){ int totalRequest=0; if(n==0){ break; } vector<int> guestRequest(n); for(int i=0;i<n;i++){ cin>>guestRequest[i]; totalRequest+=guestRequest[i]; } if(totalRequest%2!=0){ cout<<"No equal partitioning."<<endl; continue; } int index=findPosition(guestRequest, n, totalRequest/2); if(index==-1){ cout<<"No equal partitioning."<<endl; }else{ cout<<"Sam stops at position "<<index<<" and Ella stops at position "<<index+1<<"."<<endl; } } return 0; }
POJ-1247
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。