PAT練習(八)
PAT 1030B/1085A
https://pintia.cn/problem-sets/994805260223102976/problems/994805291311284224テストポイント4タイムアウト、5エラー
PAT 1035 B挿入と集計(25分)/1089 A
https://pintia.cn/problem-sets/994805260223102976/problems/994805286714327040テストポイント5,6エラー
PAT 1029A
https://pintia.cn/problem-sets/994805342720868352/problems/994805466364755968テストポイント5,7,8実行タイムアウト、3回答エラー
PAT 1048 A Find Coins(25分)
https://pintia.cn/problem-sets/994805342720868352/problems/994805432256675840テストポイント3,4運転タイムアウト
PAT 1040 BにはいくつかのPAT(25点)/1093 Aがあります
https://pintia.cn/problem-sets/994805260223102976/problems/994805282389999616
PAT 1045 Bクイックソート(25点)/1011 A
https://pintia.cn/problem-sets/994805260223102976/problems/9948052785899601923つのテストポイントの実行タイムアウト
暴力解読タイムアウト、修正
https://pintia.cn/problem-sets/994805260223102976/problems/994805291311284224テストポイント4タイムアウト、5エラー
#include
#include
#include
#include
using namespace std;
int main(){
int n,p,max;
cin>>n>>p;
int arr[100010]={0};
for(int i=0;i>arr[i];
}
sort(arr,arr+n);
max=arr[n-1];
int maxN=0;
for(int i=0;i=max){
num++;
}
}
if(num>maxN) maxN=num;
}
cout<
PAT 1035 B挿入と集計(25分)/1089 A
https://pintia.cn/problem-sets/994805260223102976/problems/994805286714327040テストポイント5,6エラー
#include
#include
#include
using namespace std;
int ori[110],tempOri[110],arr[110],n;
void showA(){
cout<0&&tempOri[j-1]>temp){
tempOri[j]=tempOri[j-1];
j--;
}
tempOri[j]=temp;
if(flag==true){
return true;
}
}
return false;
}
bool mergeA(){
bool flag=false;
for(int i=2;i/2<=n;i+=2){
if(i!=2&&res()){
flag=true;
}
for(int j=0;j>n;
for(int i=0;i>ori[i];
tempOri[i]=ori[i];
}
for(int i=0;i>arr[i];
}
if(insertA()){
cout<
PAT 1029A
https://pintia.cn/problem-sets/994805342720868352/problems/994805466364755968テストポイント5,7,8実行タイムアウト、3回答エラー
#include
#include
using namespace std;
int main(){
int arr[200010]={0};
int n,m;
cin>>n;
int cnt=0;
for(int i=0;i>arr[i];
}
cin>>m;
int index=(n+m-1)/2;
// for(int i=0;i>arr1[i];
// }
// int i=0,j=0;
// while(cnt>temp;
cnt=0;
for(;itemp){
flag=i;
break;
}
cnt++;
}
for(int j=n;j>i;j--){
arr[j]=arr[j-1];
}
arr[i]=temp;
n++;
j++;
cnt++;
}
cout<
PAT 1048 A Find Coins(25分)
https://pintia.cn/problem-sets/994805342720868352/problems/994805432256675840テストポイント3,4運転タイムアウト
#include
#include
#include
using namespace std;
int main(){
int arr[100010]={0};
int n,m;
cin>>n>>m;
bool flag=false;
for(int i=0;i>arr[i];
}
sort(arr,arr+n);
int left=0,right=0;
for(int i=0;im){
break;
}
}
if(flag){
break;
}
}
if(flag==false){
cout<
PAT 1040 BにはいくつかのPAT(25点)/1093 Aがあります
https://pintia.cn/problem-sets/994805260223102976/problems/994805282389999616
#include
#include
#include
using namespace std;
int main(){
int leftP[100010]={0};
string str;
getline(cin,str);
int right=0,rs=0;
for(int i=0;i0){
leftP[i]=leftP[i-1];
}
if(str[i]=='P'){
leftP[i]+=1;
}
}
// T , P 。
for(int i=str.length()-1;i>=0;i--){
if(str[i]=='T'){
right+=1;
}
else if(str[i]=='A'){
rs=(rs+leftP[i]*right)%1000000007;
}
}
cout<
PAT 1045 Bクイックソート(25点)/1011 A
https://pintia.cn/problem-sets/994805260223102976/problems/9948052785899601923つのテストポイントの実行タイムアウト
#include
#include
using namespace std;
int main(){
int arr[100010]={0};
int f[100010]={0};
int n=0,count=0;
cin>>n;
for(int i=0;i>arr[i];
}
for(int i=0;iarr[i]){
flag=false;
break;
}
}
if(flag){
for(int j=n-1;j>i;j--){
if(arr[j]0){
cout<
暴力解読タイムアウト、修正
#include
#include
#include
using namespace std;
int main(){
int arr[100010]={0},leftMax[100010]={0},rightMin[100010],rs[100010]={0};
int n=0,count=0;
cin>>n;
for(int i=0;i>arr[i];
}
//
for(int i=1;i=0;i--){
rightMin[i]=min(rightMin[i+1],arr[i+1]);
}
//
for(int i=0;iarr[i]){
rs[count]=arr[i];
count=count+1;
}
}
if(count>0){
cout<