Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <stdio.h>#include <map>std::map<int, int> f[1001] ;int a[1001] ;int n ;int solve( int i, int s ){if ( i == n ){if ( s != 0 )return 0 ;elsereturn 1 ;}if ( f[i].find( s ) != f[i].end() )return f[i][s] ;int x = solve( i + 1, s - a[i] ) ;int y = solve( i + 1, s + a[i] ) ;int val = ( x + y ) % 1000000007 ;f[i][s] = val ;return val ;}int main(){int i ;int s ;