Sumsets
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 9983 | Accepted: 2731 |
Description
![](http://poj.org/images/2549_1.jpg)
Input
Several S, each consisting of a line containing an integer 1 <= n <= 1000 indicating the number of elements in S, followed by the elements of S, one per line. Each element of S is a distinct integer between -536870912 and +536870911 inclusive. The last line of input contains 0.
Output
For each S, a single line containing d, or a single line containing "no solution".
Sample Input
52 3 5 7 1252 16 64 256 10240
Sample Output
12no solution
Source
转化成 a+b=c-d;
#include#include #define M 1010using namespace std;int num[M];int main(){ int n; while(scanf("%d", &n) != EOF &&n!=0) { for(int i=0; i =0; i--) { for(int j=n-1; j>=0; j--) { if(i==j) continue; int multiply=num[i]-num[j]; int rear=0, top= j-1; //注意 top取值范围 ; while(rear num[rear]+num[top]) rear++; if(multiply