제출 #166019

#제출 시각아이디문제언어결과실행 시간메모리
166019theStaticMindSan (COCI17_san)C++14
96 / 120
477 ms65540 KiB
#include<bits/stdc++.h>
#define mp make_pair
#define pb push_back
#define ii pair<int,int>
#define all(x) (x).begin(),(x).end()
#define INF 100000000000000000
#define modulo 1000000007
#define mod 998244353
#define int long long int
using namespace std;

int32_t main(){
      ios_base::sync_with_stdio(false);
      cin.tie(NULL);
 //     freopen("q.gir","r",stdin);
 //     freopen("q.cik","w",stdout);
      int n,k,ans=0;
      cin>>n>>k;
      vector<int>arr(n+1,0),gold(n+1,0);
      map<int,int>data[n+1];
      data[0][0]=1;
      for(int i=1;i<=n;i++)cin>>arr[i]>>gold[i];
      for(int i=1;i<=n;i++){
            for(int j=0;j<i;j++){
                  if(arr[j]<=arr[i]){
                        for(map<int,int>::iterator itr=data[j].begin();itr!=data[j].end();itr++){
                              if(itr->first+gold[i]>=k){
                                    data[i][k]+=itr->second;
                              }
                              else data[i][itr->first+gold[i]]+=itr->second;
                        }
                  }
            }
            ans+=data[i][k];
      }
      cout<<ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...