Submission #1115153
Source Code Expand
#include <bits/stdc++.h>
#define s(a) cin >> a;
#define s2(a,b) cin >> a>> b;
#define s3(a,b,c) cin >> a>> b>> c;
#define s4(a,b,c,d) cin >> a>> b >> c >> d;
#define sp(b) cout << b << "\n";
#define sp2(b,c) cout << b << " "<<c <<endl;
#define sp3(a,b,c) cout <<a <<" "<< b << " "<<c <<endl;
#define p(a) //////printf("%lld\n",a);
#define p2(a,b) //////printf("%lld %lld",a,b);
#define pm(a) //////printf("a\n");
#define test(t) while(t>0)
#define sl(a) a.length()
#define f(a,b,c) for(a=b;a<c;a++)
#define fr(a,b,c) for(a=c-1;a>=0;a--)
#define v(a,b) vector<a> b;
#define pb(a,b) a.push_back(b);
#define ll long long
#define mem(a,b) memset(a,b,sizeof(a));
#define fillar(ar,n) f(i,0,n) s(ar[i]);
#define diff(a,b) abs(a-b);
using namespace std;
#define MOD 1000000007
#define flush fflush(stdout);
struct flist
{
int val;
int pos;
};
ll mincomp[100001];
ll maxcomp[100001];
ll mx=1e5+1;
ll getans(ll start,ll end,ll minn,ll maxx,ll com,ll *ar){
//printf("start=%lld,end=%lld\n",start,end );
//printf("mnn=%lld,maxx=%lld\n",minn,maxx );
if(start>end){
return 0;
}
if(start==end){
if(com==0){
ar[start]=minn;
//printf("1.ar[%lld]=%lld\n",start,ar[start] );
}
else{
return 0;
}
}
ll range=end-start+1;
ll maxxx=maxcomp[range];
ll minnn=mincomp[range];
if(com<minnn || com > maxxx){
return 0;
}
int i;
ll remain=com-(range-1);
f(i,minn,maxx+1){
ll left=i-minn;
ll right=maxx-i;
ll minbound=mincomp[left]+mincomp[right];
ll maxbound=maxcomp[left]+maxcomp[right];
//printf("left=%lld,right=%lld\n",left,right );
if(remain>=minbound&&remain<=maxbound){
if(remain-mincomp[left] <=maxcomp[right]){
ar[start]=i;
//printf("2.ar[%lld]=%lld\n",start,ar[start] );
getans(start+1,start+left,minn,i-1,mincomp[left],ar);
getans(start+left+1,end,i+1,maxx,remain-mincomp[left],ar);
break;
}
else if(remain-maxcomp[left]>=mincomp[right]){
ar[start]=i;
//printf("3.ar[%lld]=%lld\n",start,ar[start] );
getans(start+1,start+left,minn,i-1,maxcomp[left],ar);
getans(start+left+2,end,i+1,maxx,remain-maxcomp[left],ar);
break;
}
}
}
return 1;
}
int main(){
ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int i,j,k;
int n;
s(n);
ll power=1;
f(i,1,n+1){
power *=i;
power %=MOD;
}
printf("%lld\n",power );
}
Submission Info
Submission Time |
|
Task |
B - Training Camp |
User |
gandu007 |
Language |
C++14 (GCC 5.4.1) |
Score |
200 |
Code Size |
3002 Byte |
Status |
AC |
Exec Time |
2 ms |
Memory |
256 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
200 / 200 |
Status |
|
|
Set Name |
Test Cases |
Sample |
00_example_01.txt, 00_example_02.txt, 00_example_03.txt |
All |
00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 01.txt, 02.txt, 03.txt, 04.txt |
Case Name |
Status |
Exec Time |
Memory |
00_example_01.txt |
AC |
1 ms |
256 KB |
00_example_02.txt |
AC |
1 ms |
256 KB |
00_example_03.txt |
AC |
2 ms |
256 KB |
01.txt |
AC |
1 ms |
256 KB |
02.txt |
AC |
1 ms |
256 KB |
03.txt |
AC |
2 ms |
256 KB |
04.txt |
AC |
2 ms |
256 KB |